No Live Links · Mencegah Tautan Aktif Masuk ke dalam Komentar
function blockLinks(parentID, children) {
var parent = document.getElementById(parentID), content;
if (!parent) return;
content = parent.getElementsByTagName(children);
for (var i = 0, len = content.length; i < len; ++i) {
if (content[i].innerHTML.indexOf('</a>') !== -1) {
content[i].innerHTML = '<mark>No live link!!!</mark> Dilarang nyepam di sini!';
content[i].className += ' spammer-detected';
}
}
}
// Jalankan fungsi!
// Seleksi elemen induk dengan id='comment-holder' ...
// dan periksa semua konten paragraf di dalamnya!
blockLinks('comment-holder', 'p');
Fungsi sederhana untuk mencegah hadirnya tautan aktif dalam daftar komentar. Cara kerjanya, JavaScript akan menyeleksi sebuah elemen induk dengan ID tertentu (dalam hal ini: #comment-holder
), kemudian akan melihat semua item di dalamnya (dalam hal ini <p>
). Jika setidaknya sebuah tautan ditemukan, dengan sekejap ganti semua konten item tersebut dengan pesan larangan tertentu.
Demo
Labels: Blogger, JavaScript, Masalah, Potongan, Regex
99 Comments:
pernah mbaca ini dikomentarnya 7bloggers :D
tak cobane sik mas.
By Putra, at Thursday, July 12, 2012 at 9:18:00 PM GMT+7
oo ini yahh cara peletakkan kodenyaa...
By abang ichal, at Friday, July 13, 2012 at 12:01:00 PM GMT+7
Inilah yang saya Butuhkan Kang Taufik, Terkadang, ada saja Komentar yang menggunakan Link aktif, dan saya masukan Komentar Itu ke daftar Spam :D
matur Nuwun kang Taufik :D
By Rosyd Aqbar, at Saturday, July 14, 2012 at 7:27:00 AM GMT+7
ini kalo, dibuat pengecualian yang admin blog gak kena blok gimana mas?
Soale dulu kan blog ane pernah pake threaded comments yang pake awalan @ trus permalink komenya itu mas,,,setelah pake script ini komen ane yang ngereply otomatis kena block juga..
By Unknown, at Friday, July 20, 2012 at 3:27:00 PM GMT+7
Membatasi komentar admin tidak bisa, tapi kalau membuat pengecualian pada URL (hash) permalink komentar bisa:
function blockLinks(parentID, children) {
var parent = document.getElementById(parentID),
content = parent.getElementsByTagName(children);
for (var i = 0; i < content.length; i++) {
if (content[i].innerHTML.indexOf('<a href="http') !== -1) {
content[i].innerHTML = "<mark>No live link!!!</mark> Dilarang nyepam di sini!";
content[i].className = "spammer-detected";
}
}
}
Demo: http://jsfiddle.net/tovic/2WLCU/2/
By Taufik Nurrohman, at Friday, July 20, 2012 at 4:26:00 PM GMT+7
ini yang saya cari,
makasih sharenya,
mohon ijin copas gan
By Anonymous, at Tuesday, July 31, 2012 at 9:18:00 AM GMT+7
cara makenya gimana mas ? :(
By Adi Nugraha Y, at Thursday, August 23, 2012 at 6:55:00 AM GMT+7
mas, koq di blog saya ga bisa ya, "kodenya saya tarok diatas "body" seperti komentar mas taufik diatas??
By hot info news, at Thursday, August 23, 2012 at 10:36:00 AM GMT+7
Di atas </body>, bukan di atas <body>
By Taufik Nurrohman, at Thursday, August 23, 2012 at 2:00:00 PM GMT+7
kalau link aktif dihilangkan tetapi kata - katanya tetap, contoh
saya berkomentar dengan teks "Free Download" dengan tujuan link ke blog saya. tetapi link untuk Free Download jadi hilang. jadi hanya teks biasa saja, itu bagaimana caranya ??
By Yusril Ibnu Maulana, at Thursday, August 23, 2012 at 4:26:00 PM GMT+7
Pakai JQuery lebih gampang:
$(function() {
$('#comment-holder').find('a').contents().unwrap();
});
Demo: http://jsfiddle.net/tovic/2WLCU/12/
By Taufik Nurrohman, at Thursday, August 23, 2012 at 5:42:00 PM GMT+7
jadinya kan begini ???
<script type='text/javascript'>
//<![CDATA[
$(function() {
$('#comment-holder').find('a').contents().unwrap();
});
//]]>
</script>
tapi kok gk work ??
contoh lihat di : http://yuzsite.blogspot.com/2011/11/tukeran-link.html
mohon pencerahanya ...
By Yusril Ibnu Maulana, at Thursday, August 23, 2012 at 6:07:00 PM GMT+7
Punyamu nggak pake #comment-holder, tapi .cm_wrap:
$(function() {
$('.cm_wrap p').find('a').contents().unwrap();
});
By Taufik Nurrohman, at Thursday, August 23, 2012 at 9:27:00 PM GMT+7
Gk work Juga... :(, jadi bagaimana ??
By Yusril Ibnu Maulana, at Friday, August 24, 2012 at 4:29:00 AM GMT+7
Jadi rame! HOREEEE!!!! \o/ \o/ \o/
By Taufik Nurrohman, at Friday, August 24, 2012 at 3:30:00 PM GMT+7
:( ??? :(
By Yusril Ibnu Maulana, at Saturday, August 25, 2012 at 6:03:00 AM GMT+7
Wah ni dia yang saya cari. blogku kebanjiran spam nih.
By Anonymous, at Thursday, August 30, 2012 at 7:12:00 PM GMT+7
mas ko saya yang keluar kaya gini???
"Error parsing XML, line 1863, column 15: XML document structures must start and end within the same entity."
mohon pencerahannya mas...
By Unknown, at Wednesday, October 10, 2012 at 8:24:00 AM GMT+7
akhirnya nemu juga obatnya untuk spam...
thanks sob... salam kenal.
By Unknown, at Monday, October 22, 2012 at 11:28:00 PM GMT+7
contohnya seperti ini
By Unknown, at Saturday, November 10, 2012 at 1:50:00 PM GMT+7
bang, gimana caranya kalo ada yang berkomentar dengan link hidup secara otomatis terhapus dan ada salinan komentarnya seperti contoh link komentar yang di atas
By Unknown, at Saturday, November 10, 2012 at 1:52:00 PM GMT+7
Pertama-tama simpan konten originalnya di dalam variabel sebelum dihapus. Misalnya seperti ini:
var salinan = content[i].innerHTML;
Lalu ganti konten komentar dengan elemen beru berupa peringatan dan salinan dari konten yang lama:
content[i].innerHTML = "<mark>No live link!!!</mark> Dilarang nyepam di sini!<textarea>" + salinan + "</textarea>";
Demo: http://jsfiddle.net/tovic/2WLCU/50/
By Taufik Nurrohman, at Saturday, November 10, 2012 at 2:59:00 PM GMT+7
terimakasih bang master kode, langsung ngefek nih. biar kata sempet keder pas nerapin kodenya :D
oia, nanya lagi nih bang. cara ngatur fungsi scrollnya gimana yah bang?? :D dari pada malu bertanya stress di kode, mending ngajak temen ikutan stress juga :D
By Unknown, at Saturday, November 10, 2012 at 10:36:00 PM GMT+7
kaga jadi ngajak stresnya bang, udah ketemu letak kesalahannya. ternyata CSSnya kaga ke ajak :D jadi malu nih 0:)
By Unknown, at Saturday, November 10, 2012 at 11:34:00 PM GMT+7
Sukses cuY !! \o/
Keren" tutornya.
By Viyan Pradita, at Thursday, November 29, 2012 at 11:27:00 PM GMT+7
sy msh newbie mas,script di atas penempatannya di mana yah? mohon pencerahannya. mksh
By Unknown, at Monday, December 17, 2012 at 11:01:00 PM GMT+7
mau nanya bang. mohon maaf kalo keluar dari pembahasan...
kalo mau pasang tombol di atas formulir komentar gimana yah, seperti formulir komentar milik DTE ini??
http://4.bp.blogspot.com/-bgpbI8mKQ1A/UOxLtYmaY-I/AAAAAAAABUg/rxWM1oBjN5o/s1600/tombol.PNG
soalnya kalo pemasangan melalui menu setelan/Pesan Formulir Komentar kaga bisa nyimpen teks berformat tag.
By Unknown, at Tuesday, January 8, 2013 at 11:42:00 PM GMT+7
Tidak bisa dari situ. Harus dari dalam template secara langsung.
By Taufik Nurrohman, at Wednesday, January 9, 2013 at 7:53:00 AM GMT+7
Makasih banyak bang,. tapi yang bikin saya pusing itu formulir komentarnya, ketika ada postingan si kotak komentar memang terlihat wajar. nah pas nggak ada komentar, si formulir komentarnya jadi ciut/mengecil.
haha kayaknya pertanyaan saya semakin ngelantur nih :) .
By Unknown, at Thursday, January 10, 2013 at 3:12:00 AM GMT+7
Mungkin asalnya dari sini:
var onReply = function(commentId, domId) {
if (replybox == null) {
// lazily cache replybox, and adjust to suit this style:
replybox = document.getElementById('comment-editor');
if (replybox != null) {
replybox.height = '250px';
replybox.style.display = 'block';
replyUrlParts = replybox.src.split('#');
}
}
if (replybox && (commentId !== replyParent)) {
document.getElementById(domId).insertBefore(replybox, null);
replybox.src = replyUrlParts[0]
+ (commentId ? '&parentID=' + commentId : '')
+ '#' + replyUrlParts[1];
replyParent = commentId;
}
};
Fokus pada bagian replybox.height = '250px';
By Taufik Nurrohman, at Friday, January 11, 2013 at 12:04:00 AM GMT+7
wah kalo ke JS saya kelimpungan bang (nggak ngarti :D )..
cuman saya hanya manfaatin
<b:includable id='comment-form' var='post'>
<div class='comment-form'>
<a name='comment-form'/>
<b:if cond='data:mobile'>
<h4 id='comment-post-message'>
<a expr:id='data:widget.instanceId + "_comment-editor-toggle-link"' href='javascript:void(0)'><data:postCommentMsg/></a></h4>
<p><data:blogCommentMessage/></p>
<data:blogTeamBlogMessage/>
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
<b:else/>
<p><data:blogCommentMessage/></p>
<data:blogTeamBlogMessage/>
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='430' id='comment-editor' name='comment-editor' src='' width='100%'/>
</b:if>
<data:post.friendConnectJs/>
<data:post.cmtfpIframe/>
<script type='text/javascript'>
BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>', '<data:post.communityId/>');
</script>
</div>
</b:includable>
menjadi
<b:includable id='comment-form' var='post'>
<div class='comment-form-lebar'>
<a name='comment-form'/>
<b:if cond='data:mobile'>
<h4 id='comment-post-message'>
<a expr:id='data:widget.instanceId + "_comment-editor-toggle-link"' href='javascript:void(0)'><data:postCommentMsg/></a></h4>
<p><data:blogCommentMessage/></p>
<data:blogTeamBlogMessage/>
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
<b:else/>
<p><data:blogCommentMessage/></p>
<data:blogTeamBlogMessage/>
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='430' id='comment-editor' name='comment-editor' src='' width='100%'/>
</b:if>
<data:post.friendConnectJs/>
<data:post.cmtfpIframe/>
<script type='text/javascript'>
BLOG_CMT_createIframe('<data:post.appRpcRelayPath/>', '<data:post.communityId/>');
</script>
</div>
</b:includable>
Sebetulnya dari kode sebanyak di atas yang diganti hanya
<div class='comment-form'>
dengan
<div class='comment-form-lebar'>
CSSnya
div.comment-form-lebar{
width: 500px; /* lebar form*/
}
div.comment-form-lebar p{background:#000;
color: #fff;text-align: left;
}
makasih banyak-sebanyakbanyaknya bang :) .
blog ini emang bener-bener inspiratif
By Unknown, at Tuesday, January 15, 2013 at 2:54:00 AM GMT+7
Kok, di blog aku gak fungsi sih kak, aku memakai komentar dengan script ini :
<script src='https://sagitasoft.googlecode.com/svn/trunk/js/coments-sagita.js' type='text/javascript'/>
Tetapi jika memakai script itu berfungsi kak, kira-kira apakah ada yang salah ya ?
By IRIL SAGITA, at Tuesday, January 29, 2013 at 9:44:00 AM GMT+7
Tidak memakai script itu maksut saya.
By IRIL SAGITA, at Tuesday, January 29, 2013 at 9:47:00 AM GMT+7
G jadi kak, aku udah nemuin caranya, agak sulit memang, tapi akhirnya ketemu juga caranya, terima kasih ?
By IRIL SAGITA, at Wednesday, January 30, 2013 at 10:01:00 PM GMT+7
Setahu Saya area komentar di blogmu sudah tidak standar/sudah dimodifikasi total, jadi eksekusi script harus diset lagi, menyesuaikan dengan markup HTML komentarmu:
// Jalankan fungsi!
// Seleksi elemen induk dengan id='cm_wrap' ...
// dan periksa semua konten paragraf di dalamnya!
blockLinks('cm_wrap', 'p');
By Taufik Nurrohman, at Wednesday, January 30, 2013 at 10:14:00 PM GMT+7
Betul kak, masalahnya cuma salah penempatan areanya, yang tadinya di area comment_body menjadi cm_wrap (keseluruhan area comment).
By IRIL SAGITA, at Wednesday, January 30, 2013 at 10:56:00 PM GMT+7
pusin....... :Ozz bisa langsung gak gan satuin semua
By Anonymous, at Thursday, February 7, 2013 at 2:09:00 PM GMT+7
Bang mau tanya,
Caranya masukkin link yang udah terpasang trik no_live_links ini gimana yah??
By Unknown, at Friday, February 15, 2013 at 10:53:00 PM GMT+7
Tidak bisa. Cuma bisa memakai tautan/link mati saja.
By Taufik Nurrohman, at Saturday, February 16, 2013 at 7:46:00 AM GMT+7
kalau membuat seperti ini gimana kang ??
http://2.bp.blogspot.com/-bw-wT_R7yZM/UVVUwKGZYWI/AAAAAAAAAR0/URlPZXnGomw/s1600/Screenshot_1.jpg
By Unknown, at Friday, March 29, 2013 at 3:46:00 PM GMT+7
mas saya pasang kode
<script type='text/javascript'>
//<![CDATA[
function blockLinks(parentID, children) {
var parent = document.getElementById(parentID),
content = parent.getElementsByTagName(children);
for(var i = 0; i < content.length; i++) {
// Saya menggunakan pengukur berupa tag penutup, karena tag pembuka tidak tegas
// Tag <a> tidak selalu diawali dengan atribut 'href',
// sehingga mengecek indeks dengan menuliskan content[i].indexOf('<a href=\"') menjadi kurang akurat
// Lebih baik gunakan tag penutup sebagai penanda adanya tautan di dalam konten
if(content[i].innerHTML.indexOf('</a>') !== -1) {
content[i].innerHTML = "<mark>No live link!!!</mark> Dilarang nyepam di sini!";
content[i].className = "spammer-detected";
}
}
}
//>
</script>
di atas </body> tapi koq error
Template Anda tidak dapat diparse karena tidak well-formed. Harap pastikan bahwa semua elemen XML ditutup dengan benar. <br/> Pesan error XML: XML document structures must start and end within the same entity.
maaf saya tidak tahu apa",tentang coding..
By Unknown, at Sunday, April 7, 2013 at 10:54:00 AM GMT+7
Hal itu biasanya disebabkan karena saat meloading Script, salah satu bagiannya ada yang gagal diloading.
Solusinya, coba pindahkan script itu ke bagian atas di antara semua script yang ada, Atau simpan di area </body>
Yah... kalau tetep gak bisa, ???
Soalnya yang saya berhasil :)
By budkalon, at Friday, April 12, 2013 at 2:00:00 PM GMT+7
Ah, mau ngelanjutin tentang tombol di atas formulir komentar, apakah itu memakai Javascript atau kode HTML? :D
By budkalon, at Friday, April 12, 2013 at 2:03:00 PM GMT+7
Coba ganti kode //> menjadi seperti ini: //]]>
Tapi saya gak yakin bisa sih, silakan aja dicoba :)
By budkalon, at Friday, April 12, 2013 at 2:11:00 PM GMT+7
Mas taufik,,kaloq pake' jQuery ngasih pengecualian URL gimana,,?? soalnya saya pake reply komentar yg lama,,jadinya pas balas komentar @(blank) jadi ikut kena block..Terima Kasih
By Unknown, at Monday, April 22, 2013 at 4:27:00 PM GMT+7
Pasangnya dimana gan?
By Anonymous, at Sunday, April 28, 2013 at 11:00:00 AM GMT+7
Kang Taufik :\
Mau tahu donk, cara supaya saat ada pengunjung yang berkomentar mengandung kata O--O--T atau Outh Ofh Topich, nah jika di dalam kotak komentar ditemukan kata itu, maka akan otomatis dibungkus oleh tag <del> dan kata terlarangnya pun dapat akan dibungkus oleh tag <mark><a href="#">Kata terlarang</a></mark> (Seperti di blog ini) Caranya gimana kang? :( Mohon pencerahannya
By budkalon, at Monday, May 6, 2013 at 7:27:00 PM GMT+7
content[i].innerHTML =
content[i].innerHTML.replace(/( |>)oot(<| )/ig, "$1<mark>OOT</mark>$2");
Demo: http://jsfiddle.net/tovic/2WLCU/111/
By Taufik Nurrohman, at Monday, May 6, 2013 at 8:15:00 PM GMT+7
EHHH!!!? Terima kasih!!!! Akan saya kembangkan :D
By budkalon, at Monday, May 6, 2013 at 8:31:00 PM GMT+7
Sedikit bertanya, script ini untuk sebelum posting atau sesudah terposting komentarnya ?
By Bowo Ekowidodo, at Wednesday, May 8, 2013 at 8:17:00 PM GMT+7
Bantu jawab ah... pake HTML sob, cari di om guugel ada caranya ko.. coba aja keywordnya : Membuat Tombol pada Pesan Formulir Komentar
By Kang Ismet, at Sunday, May 12, 2013 at 12:34:00 AM GMT+7
maaf test oot
By Kang Ismet, at Sunday, May 12, 2013 at 1:18:00 PM GMT+7
Berhasil Dengan Sukses Mas Taufik ,
Anda Gimana Caranya Menambahkan Tulisan "Text Yang Ditandai Tidak Diperbolehkan Lagi" Setelah Text Komentar ,
By Anonymous, at Sunday, May 12, 2013 at 2:03:00 PM GMT+7
Kang.. kalau kita membuat daftar kata-kata misal: ju-di , to-gel, ju-al dll.... terus apabila ada komentar yang mengandung kata itu, semua nya digantikan dengan peringatan... bukan hanya kata2 yang ditandai saja... gimana kang?
By Kang Ismet, at Sunday, May 12, 2013 at 9:05:00 PM GMT+7
maksudnya bekerja nya ya mas? komentar terlamapun,mkalau mengandung link aktif, akan otomatis berubah ketika dipasangi script ini.
By Kang Ismet, at Sunday, May 12, 2013 at 9:18:00 PM GMT+7
content[i].innerHTML =
content[i].innerHTML
.replace(/(^| |>)(kata1|kata2|kata3)(<| |$)/ig, "$1<mark>$2</mark>$3");
By Taufik Nurrohman, at Monday, May 13, 2013 at 10:12:00 AM GMT+7
tengkyu2... walaupun harus dipelajari lagi :)
By Kang Ismet, at Monday, May 13, 2013 at 1:12:00 PM GMT+7
Ok Mas untuk menontaktifkan link hidup didalam komentar.Tentunya cara ini sangat aman melindungi komentar blog dari serangan spammer. :)
By Anonymous, at Thursday, May 23, 2013 at 10:24:00 PM GMT+7
kalau script yang lengkapnya gimana untuk kata1|kata2|kata3| soalnya saya coba gabung dengan script diatas ga bisa mas...
By Semar Badranaya, at Wednesday, May 29, 2013 at 1:39:00 PM GMT+7
Prinsipnya ini setelah terposting ya? Ya sudah sudah ngerti maksudnya, saya kira bisa blocking sebelum posting komentar :D ..
By Bowo Ekowidodo, at Wednesday, May 29, 2013 at 4:46:00 PM GMT+7
nyambung lagi mas... maksud saya bukan teks terpilih saja, tapi semua tulisan digantikan dengan peringatan.. (seperti No Live Links) semuanya diganti
kalau kode di atas hasilnya http://jsfiddle.net/kangismet/9DYFx/2/
By Kang Ismet, at Wednesday, May 29, 2013 at 11:57:00 PM GMT+7
function blockLinks(parentID, children) {
var parent = document.getElementById(parentID),
content = parent.getElementsByTagName(children);
for (var i = 0; i < content.length; i++) {
var regex = /(^| |>)(oot|togel|jual|beli|blackberry)(<| |$)/g,
html = content[i].innerHTML;
content[i].innerHTML = (regex.test(html)) ? '<del>' + html.replace(regex, "$1<mark>$2</mark>$3") + '</del><br><br>Kata-kata yang ditandai tidak boleh ada di dalam komentar.' : html;
}
}
Demo: http://jsfiddle.net/tovic/9DYFx/4/
By Taufik Nurrohman, at Thursday, May 30, 2013 at 8:13:00 AM GMT+7
tengkyu masbrow... emang keyen agan satu ini..
stu lagi ah request, kalau pengen kaya Demo dibawah gimana? saya edit NO-live link, cuma saya baru masukin satu kata saja, gimana caranya memasukan beberapa pilihan kata?
cek DEMO http://jsfiddle.net/kangismet/9DYFx/5/
By Kang Ismet, at Thursday, May 30, 2013 at 9:28:00 AM GMT+7
Sama saja. Pakai regex .test()
if (/(^| |>)(shap|ship|shup|shep|shop)(<| |$)/i.test(content[i].innerHTML)) { ... }
By Taufik Nurrohman, at Thursday, May 30, 2013 at 10:45:00 AM GMT+7
makasih masbro.. it's work like a charm :)
By Kang Ismet, at Friday, May 31, 2013 at 8:07:00 PM GMT+7
lawan spammer .
By Anonymous, at Sunday, June 9, 2013 at 11:18:00 PM GMT+7
harus pasang JQuery dulu? punya saya belum pake jquery
By sekadau, at Friday, June 21, 2013 at 11:25:00 AM GMT+7
Karena saya kurang paham soal JavaScript , jadi saya mo nanya nih . Awalnya kan saya pasang yang ada di point pertama posting ini dan work ( semua link di block sempurna ) , nah trus saya pasang lagi script soal o-o-t yang ada di koment . work si , cuman ko script yang pertama jadi gak fungsi yak ? bisa dibantu .... ?
By Anonymous, at Saturday, July 20, 2013 at 3:03:00 AM GMT+7
saya sudah lihat kodenya, itu kenapa kamu campur adukan? javascript scroll dengan javascript commentblock jangan di jadikan satu jelas aja gak berfungsi -______-
By Unknown, at Saturday, July 20, 2013 at 8:58:00 AM GMT+7
mas gimana supaya script ini block link ini mengganti semua teks pada komentar.
$(".comment_body p").find("a:not(.allow)").each(function (c) {
c = $($(this).parent()).html();
txtContents = c.replace(/<br>/ig, "\n").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/<pre>/ig, '<i rel="pre">').replace(/<code>/ig, '<i rel="code">').replace(/<blockquote>/ig, '<b rel="quote">').replace(/<h3>/ig, '<b rel="h3">').replace(/<\/(code|pre)>/ig, "</i>").replace(/<\/(blockquote|h3)>/ig, "</b>").replace(/<a\b[^>]*>(.*?)<\/a>/i, "").replace(/<img\b[^>]*>/i, "");
$($(this).parent()).html("<mark>No live link!!!</mark> Dilarang nyepam disini!<br>" + "<br><br><cite class=\'note\'>Mohon maaf, komentar anda terblok otomatis oleh sistem kami.</cite>").closest(".comment_wrap").find(".comment_body p > a").remove()
}); Soalnya script block link ini hanya mengganti teks yang terdapat link.
By Saeful Rahman, at Tuesday, August 6, 2013 at 6:02:00 AM GMT+7
$(".comment_body p").each(function() {
if ($(this).find("a:not(.allow)").length) {
$(this).html('No spam!');
}
});
By Taufik Nurrohman, at Sunday, August 11, 2013 at 8:36:00 AM GMT+7
Maaf kang, saya dari dulu pengen tahu, sebenernya .closest('') itu buat apa sih fungsinya?
By budkalon, at Monday, August 12, 2013 at 6:19:00 PM GMT+7
sip mas. Cara gabungin ke3 script ini gimana ya ? soalnya kinerja js nya hampir sama.
JS 1
function blockNotAllowed(parentID, children) {
var parent = document.getElementById(parentID),
content = parent.getElementsByTagName(children);
for (var i = 0; i < content.length; i++) {
var regex = /(^| |>)(oot|OOT|keluar topik|out of topic|diluar topik|di luar topik|minta template|bagi template|share template|minta script)(nya|"|'|"|'|\,|\.|\!|\?|\:|\;|\)|\/|<| |$)/g,
html = content[i].innerHTML;
content[i].innerHTML = (regex.test(html)) ? '' + html.replace(regex, "$1<mark><a class=\'allow\' href=\'/p/forum.html\' target=\'_blank\' title=\'Kata ini tidak diperbolehkan ada di dalam komentar\'>$2<\/a></mark>$3") + '<br><br><cite class=\'note\'>Kata-kata yang ditandai sudah tidak diperbolehkan dalam komentar.</cite>' : html
}
}
blockNotAllowed('comment_block', 'p')
JS 2
function blockNotAllowed(parentID, children) {
var parent = document.getElementById(parentID),
content = parent.getElementsByTagName(children);
for (var i = 0; i < content.length; i++) {
if (/(^| |>)(Menjual|Jual|Dijual|Rp.|togel|KABOIRENG|Shop|shop)(nya|"|'|"|'|\,|\.|\!|\?|\:|\;|\)|\/|<| |$)/i.test(content[i].innerHTML)) {
content[i].innerHTML = 'Ups!!! Dilarang ngiklan di kolom komentar.' + '<br><br><cite class=\'note\'>Mohon maaf, komentar anda terblok otomatis oleh sistem kami.</cite>'
}
}
}
blockNotAllowed('comment_block', 'p');
JS 3
function blockNotAllowed(parentID, children) {
var parent = document.getElementById(parentID),
content = parent.getElementsByTagName(children);
for (var i = 0; i < content.length; i++) {
if (/(^| |>)(anjing|Anjing|Goblog|goblok|bokep|goblok|Goblok|memek|Memek|kontol|Kontol)(nya|"|'|"|'|\,|\.|\!|\?|\:|\;|\)|\/|<| |$)/i.test(content[i].innerHTML)) {
content[i].innerHTML = 'Ups!!! Maaf komentar tidak ditampilkan, karena alasan tertentu.' + '<br><br><cite class=\'note\'>Mohon maaf, komentar anda terblok otomatis oleh sistem kami.</cite>'
}
}
}
blockNotAllowed('comment_block', 'p');.
By Saeful Rahman, at Saturday, August 17, 2013 at 11:32:00 AM GMT+7
This comment has been removed by the author.
By Saeful Rahman, at Saturday, August 17, 2013 at 11:34:00 AM GMT+7
function blockNotAllowed(parentID, children) {
if (!document.getElementById(parentID)) return;
var parent = document.getElementById(parentID),
content = parent.getElementsByTagName(children);
for (var i = 0; i < content.length; i++) {
var regex = /(^| |>)(oot|OOT|keluar topik|out of topic|diluar topik|di luar topik|minta template|bagi template|share template|minta script)(nya|"|'|"|'|\,|\.|\!|\?|\:|\;|\)|\/|<| |$)/g,
html = content[i].innerHTML;
content[i].innerHTML = (regex.test(html)) ? '' + html.replace(regex, "$1<mark><a class=\'allow\' href=\'/p/forum.html\' target=\'_blank\' title=\'Kata ini tidak diperbolehkan ada di dalam komentar\'>$2<\/a></mark>$3") + '<br><br><cite class=\'note\'>Kata-kata yang ditandai sudah tidak diperbolehkan dalam komentar.</cite>' : html;
if (/(^| |>)(Menjual|Jual|Dijual|Rp.|togel|KABOIRENG|Shop|shop)(nya|"|'|"|'|\,|\.|\!|\?|\:|\;|\)|\/|<| |$)/i.test(content[i].innerHTML)) {
content[i].innerHTML = 'Ups!!! Dilarang ngiklan di kolom komentar.' + '<br><br><cite class=\'note\'>Mohon maaf, komentar anda terblok otomatis oleh sistem kami.</cite>';
}
// ...
// ...
// ...
}
} blockNotAllowed('comment_block', 'p');
By Taufik Nurrohman, at Saturday, August 17, 2013 at 12:30:00 PM GMT+7
Sya juga sudah coba cara ini mas, tapi malah gk berfungsi. Kalau boleh tahu susunan yg benar giman ? :D
By Saeful Rahman, at Saturday, August 17, 2013 at 1:57:00 PM GMT+7
Berhasil mas, sya kurang teliti dg tag "}". :D
:-bd
By Saeful Rahman, at Saturday, August 17, 2013 at 6:56:00 PM GMT+7
Oh ya mas, satu lagi. Apakah bisa membuat pengecualian pada class allow.
if (content[i].innerHTML.indexOf('</a>') !== -1) {
content[i].innerHTML = "<mark>No live link!!!</mark> Dilarang nyepam di sini!";
content[i].className = "spammer-detected"
}
Soalnya pada JS oot saya membuat link dg class allow.
var regex = /(^| |>)(oot|OOT|keluar topik|out of topic|diluar topik|di luar topik|minta template|bagi template|share template|minta script)(nya|"|'|"|'|\,|\.|\!|\?|\:|\;|\)|\/|<| |$)/g,
html = content[i].innerHTML;
content[i].innerHTML = (regex.test(html)) ? '' + html.replace(regex, "$1<mark><a class=\'allow\' href=\'/p/forum.html\' target=\'_blank\' title=\'Kata ini tidak diperbolehkan ada di dalam komentar\'>$2<\/a></mark>$3") + '<br><br><cite class=\'note\'>Kata-kata yang ditandai sudah tidak diperbolehkan dalam komentar.</cite>' : html;
By Saeful Rahman, at Sunday, August 18, 2013 at 3:40:00 PM GMT+7
pada bagian css nya lebih efektif dan aman kalo pake widh: 100% masbero :D
div.comment-form-lebar{
width: 100%; /* lebar form*/
}
div.comment-form-lebar p{background:#000;
color: #fff;text-align: left;
}
By Anonymous, at Monday, September 2, 2013 at 1:02:00 PM GMT+7
kang mohon bantuannya dong.., klo untuk menambahkan area blocklink supaya tidak hanya di kotak komentar saja bisa gak?seumpama saya punya element sidebar atau apalah gitu, nah nambahin script blocknya gmn ya?
By Ariana, at Friday, December 6, 2013 at 9:40:00 PM GMT+7
mas, gimana ngatasi ini?
[img]http://3.bp.blogspot.com/-eh7Ojkb2cOY/UrHv_639N-I/AAAAAAAABgI/H6OPRH0WNTg/s1600/Capture3.PN[/img]
By Unknown, at Thursday, December 19, 2013 at 1:58:00 AM GMT+7
Biasanya salahnya ada di ID kontainer.
By Taufik Nurrohman, at Thursday, December 19, 2013 at 12:23:00 PM GMT+7
mas saya memakai ini
function blockLinks(d, f) {
if (document.getElementById(d)) {
for (var b = document.getElementById(d).getElementsByTagName(f), a = 0; a < b.length; a++) {
var e = /(^| |>|\/|\(|"|'|"|'|\[)(OOT|OTT|keluar topik|out of topic|off topic|diluar topik|di luar topik|tidak sesuai dengan pembahasan|tidak sesuai topik|tidak sesuai dengan topik|menyimpang dari topik|minta template|blackberry|nokia|acer|samsung|togel|ready stock|menawarkan produk|produk yang ditawarkan|produk yang kami tawarkan|promo|jual|numpang promo)(\]|nya|"|'|"|'|\,|\.|\!|\?|\:|\;|\)|\/|<| |$)/ig,
c = b[a].innerHTML;
b[a].innerHTML = e.test(c) ? "<del>" + c.replace(e, "$1<mark>$2</mark>$3") + "</del><br><br><p class='comment-spam'><cite>Maaf komentar anda telah ditandai. Ini terjadi karena kemungkinan komentar anda mengiklankan produk. Gunakanlah Iklan Baris Gratis untuk mengiklankan produk anda, atau pasang iklan premium di blog ini.</cite></p>" : c;
if (b[a].innerHTML.indexOf("</a>") !== -1) {
b[a].innerHTML = "Maaf komentar anda terhapus otomatis oleh sistem kemungkinan ini terjadi karena terdapat link aktif pada komentar anda. Sebaiknya link ditulis berupa teks URL biasa. Terima kasih.", b[a].className = "comment-spam"
}
}
}
}
blockLinks("comments-area", "p");
tapi semua url yang baik penulisannya berupa link hidup atau menyisipkan link seperti menyisipkan tautan dengan aman.. semuanya terblokir.. kira-kira apa yang salah dari JS di atas agar tautan yang terblokir hanya berupa link hidup saja..
By you, at Sunday, January 12, 2014 at 12:48:00 PM GMT+7
kalo mencoret kata terlarang ini diubah menjadi Jqeury gmna contoh scriptnya mas :
function blockLinks(parentID, children) {
var parent = document.getElementById(parentID),
content = parent.getElementsByTagName(children);
for (var i = 0; i < content.length; i++) {
var regex = /(^| |>)(oot|togel|jual|beli|blackberry)(<| |$)/g,
html = content[i].innerHTML;
content[i].innerHTML = (regex.test(html)) ? '<del>' + html.replace(regex, "$1<mark>$2</mark>$3") + '</del><br><br>Kata-kata yang ditandai tidak boleh ada di dalam komentar.' : html;
}
}
By Unknown, at Wednesday, February 18, 2015 at 9:15:00 AM GMT+7
Begini mas…
(function($) {
$.fn.filterComments = function() {
return this.each(function() {
var regex = /(^|\s|>)(OOT|togel|jual|beli|blackberry)(<|\s|$)/,
html = this.innerHTML;
if (regex.test(html)) {
this.innerHTML = '<del>' + html.replace(regex, "$1<mark>$2</mark>$3") + '</del><br><br>Kata-kata yang ditandai tidak diperbolehkan ada di dalam komentar.';
this.className += ' spammer-detected';
}
});
};
})(jQuery);
Cara pakai:
$(function() {
$('#comment-holder p').filterComments();
});
By Taufik Nurrohman, at Wednesday, February 18, 2015 at 12:43:00 PM GMT+7
→ http://jsfiddle.net/tovic/2WLCU/129
By Taufik Nurrohman, at Wednesday, February 18, 2015 at 12:47:00 PM GMT+7
<b:if cond='data:comment.author == data:post.author'>
→ /2011/08/membedakan-tampilan-komentar.html
By Taufik Nurrohman, at Wednesday, February 18, 2015 at 12:57:00 PM GMT+7
kang,di template saya kok gak work jsnya?
mohon bantuanya kang...
function blockLinks(parentID, children) {
var parent = document.getElementById(parentID), content;
if (!parent) return;
content = parent.getElementsByTagName(children);
for (var i = 0, len = content.length; i < len; ++i) {
if (content[i].innerHTML.indexOf('</a>') !== -1) {
content[i].innerHTML = '<mark>No live link!!!</mark> Dilarang nyepam di sini!';
content[i].className += ' spammer-detected';
}
}
}
// Jalankan fungsi!
blockLinks('comment-holder', 'p');
By Reo Adam, at Tuesday, March 10, 2015 at 9:52:00 PM GMT+7
kiye keprimen kang taufik?
jal ditiliki bloge nyonge jan.....
tp aja diguyu ya,judul bloge ora patut....ning ilmune cetek banget koh.
kudu merguru aring rika kiye lah
By Reo Adam, at Wednesday, March 11, 2015 at 8:20:00 PM GMT+7
sudah jadi kang...hehe
ternyata untuk template yg saya pake,elemen induknya pake ID
blockLinks('comment_block', 'p');
bukan
blockLinks('comment-holder', 'p');
matur tengkiyu....
By Reo Adam, at Thursday, March 12, 2015 at 6:38:00 PM GMT+7
mas kalo di sebelahnya nama komentator di tambahin tulisan "spam" caranya gimana :D
By Unknown, at Saturday, July 9, 2016 at 8:49:00 AM GMT+7
saya coba tambahin seperti ini $(".comment-header").append("<span class='spam'>Spam</span>"); tapi hasilnya muncul semua disetiap komentar mas :D hehehe..
By Unknown, at Saturday, July 9, 2016 at 8:55:00 AM GMT+7
$('.spammer-detected').closest('li').find('.comment-header').append('<span class="spam">Spam</span>');
By Taufik Nurrohman, at Thursday, July 14, 2016 at 8:19:00 PM GMT+7
yeahh.. yang ini berhasil mulus :-bd
By Unknown, at Friday, July 15, 2016 at 9:55:00 AM GMT+7
Versi javascript murni >> [url=http://jsfiddle.net/sekedus/vnpk1L7c/]jsfiddle[/url]
By Sekedus, at Thursday, February 1, 2018 at 7:02:00 PM GMT+7
Seperti ini juga bisa:
function blockLinks(parentID, children) {
var parent = document.getElementById(parentID),
content = parent.getElementsByTagName(children);
for (var i = 0; i < content.length; i++) {
if (content[i].innerHTML.indexOf('</a>') !== -1) {
content[i].innerHTML = content[i].innerHTML.replace(/<a(?:\s[^<>]*?)?>([\s\S]*)<\/a>/g, '$1');
}
}
}
By Taufik Nurrohman, at Friday, February 2, 2018 at 7:39:00 PM GMT+7
klo menggunakan regex saya ambil dari sini >>
[url=https://stackoverflow.com/a/20867743/7598333]stackoverflow[/url]
By Sekedus, at Friday, February 2, 2018 at 7:56:00 PM GMT+7
saya mencoba merubah regex dengan membuat pengecualian untuk tag a yang mengandung #c menjadi seperti ini: <a[^>#c]*>(.*?)<\/a> tapi tidak berhasil.
malah terbaca pengecualian # sendiri dan c sendiri.
bagaimana caranya terbaca pengecualian 2 huruf/angaka sekaligus #c
Demo: [url=http://jsfiddle.net/2WLCU/136/]http://jsfiddle.net/2WLCU/136/[/url]
terkait: [url=#c8428668621145814505]#c8428668621145814505[/url]
By Sekedus, at Saturday, February 3, 2018 at 4:49:00 PM GMT+7
Pakai caramu sebelumnya, cuma selektornya saja yang diganti:
var link = document.querySelectorAll('a:not([href^="#"])');
Demo: http://jsfiddle.net/vnpk1L7c/1
By Taufik Nurrohman, at Saturday, February 3, 2018 at 7:01:00 PM GMT+7
Post a Comment
<< Home