Pagina 1 van 1
censuur + bbcode/html
Geplaatst: 24 mei 2004, 15:51
door LazyTiger
ik zou graag in censuur gebruik gaan maken van bbcode.
dus als ik iets laat vervangen, dat het vervangde woord bijv. rood wordt.
ik heb geprobeerd om bij het vervangende woord te zetten, maar dit werkt niet.
dus, hoe kan ik dit oplossen?
(alle gecensuureerde woorden (1tje eigenlijk maar) mogen worden rood gekleurd. dus als ik iets in php bestanden moet veranderen wat betrekking heeft op alle vervangende woorden, maakt niet uit.
Geplaatst: 24 mei 2004, 16:12
door WebSiteNet
Ik denk dat het met <span style="color: #ff0000;"></span> moet lukken. Als het niet lukt moeten een meer aanpassingen gebeuren.
Geplaatst: 24 mei 2004, 16:18
door LazyTiger
dan kleurt hij in de admin al, niet in de gecensureerde post.
Geplaatst: 24 mei 2004, 17:37
door mosymuis
Voeg de span tag dan eens toe aan de toegestane HTML codes in je admincp?
Geplaatst: 24 mei 2004, 17:51
door LazyTiger
hm.. hij werkt wel.
snap al wat ik heb gedaan.
het gaat eigenlijk om het @ wat ik dus laat vervangen door [AT] (wat mosymuis dus zijn in die topic in algemene chat.)
ik had echter op het forum gewoon [AT] getypt, dus dat werkte niet.
stom van me.
maar nog ff een andere vraag.
@ wordt nu dus vervangen door [AT]
echter, het e-mailadres is gewoon aanklikbaar en in de statusbalk staat ook gewoon het e-mailadres met een apenstaart.
is het dan nog wel anti spam robot?
Geplaatst: 24 mei 2004, 18:00
door mosymuis
P.T. schreef:maar nog ff een andere vraag.
@ wordt nu dus vervangen door [AT]
echter, het e-mailadres is gewoon aanklikbaar en in de statusbalk staat ook gewoon het e-mailadres met een apenstaart.
is het dan nog wel anti spam robot?
Als phpBB er een mailto: link van heeft gemaakt niet, nee. Dit is simpel te verklaren, phpBB zet $message al om naar BBcode, nog voor de woord censuur zijn werk heeft gedaan. Zoek daarom het volgende stuk in
viewtopic.php:
Code: Selecteer alles
//
// Replace naughty words
//
if (count($orig_word))
{
$post_subject = preg_replace($orig_word, $replacement_word, $post_subject);
if ($user_sig != '')
{
$user_sig = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $user_sig . '<'), 1, -1));
}
$message = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1));
}
verwijder het, en plaats het bóven dit gedeelte:
Code: Selecteer alles
//
// Parse message and/or sig for BBCode if reqd
//
if ( $board_config['allow_bbcode'] )
{
if ( $user_sig != '' && $user_sig_bbcode_uid != '' )
{
$user_sig = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig);
}
if ( $bbcode_uid != '' )
{
$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
}
}
Dat het werkt, kan je hier zien:
http://mods.mosymuis.nl/viewtopic.php?t=114
Geplaatst: 24 mei 2004, 18:02
door LazyTiger
wat een service.. zeer netjes.
dan zijn mijn problemen opgelost!
dankje!
