Dat maakt in principe niet uit erik, wordt in IE en firefox wel goed geïnterpreteerd.
Ik gebruik beide altijd om alles te testen, maar van andere browsers weet ik het niet, denk het wel.
Link gekopieerd
M
Martijn B
22-11-2005 17:55
gewijzigd op 22-11-2005 18:13
<?php
$sBericht = 'xxx[color=blUe]hoi[/color]xxx';
$sRegex = '#\[\s*color\s*=\s*(red|green|blue)\s*\](.*)?\[\s*/\s*color\s*\]#is';
$sBericht = preg_replace($sRegex, "<span style=\"color:$1\">$2</span>", $sBericht);
echo $sBericht;
?>
Niet getest maar zal het wel doen denk ik.
edit:
Getest...
edit2:
En om hoofdletters in de kleur om te zetten naar kleine letters:
<?php
error_reporting(E_ALL);
$sBericht = 'xxx[color=blUe]hoi[/color]xxx';
function ubb_parser( $aMatches )
{
//print_r($aMatches);
return '<span style="color:' . strtolower($aMatches[1]) . '">' . $aMatches[2] . '</span>';
}
$sRegex = '#\[\s*color\s*=\s*(red|green|blue)\s*\](.*)?\[\s*/\s*color\s*\]#is';
$sBericht = preg_replace_callback($sRegex, 'ubb_parser', $sBericht);
echo $sBericht;
?>
Link gekopieerd
?
Onbekende gebruiker
22-11-2005 18:15
gewijzigd op 22-11-2005 18:36
<?php
$badword[0]="/{COLOR:RED}/";
$badword[1]="/{NOCOLOR}/";
$badword[2]="/{COLOR:BLUE}/";
$badword[3]="/{COLOR:BLACK}/";
$badword[4]="/{COLOR:YELLOW}/";
$badword[5]="/{COLOR:WHITE}/";
$badword[6]="/{BR}/";
$badword[11]="/{VET}/";
$badword[12]="/{CURSIEF}/";
$badword[13]="/{ONDERSTREEP}/";
$badword[18]="/{NOCURSIEF}/";
$badword[19]="/{NOONDERSTREEP}/";
$badword[20]="/{NOVET}/";
$badword[21]="/{CENTER}/";
$badword[22]="/{NOCENTER}/";
$replacement[0]="<font color=red>";
$replacement[1]="</font>";
$replacement[2]="<font color=blue>";
$replacement[3]="<font color=black>";
$replacement[4]="<font color=yellow>";
$replacement[5]="<font color=white>";
$replacement[6]="<br>";
$replacement[11]="<b>";
$replacement[12]="<i>";
$replacement[13]="<u>";
$replacement[18]="</i>";
$replacement[19]="</u>";
$replacement[20]="</b>";
$replacement[21]="<center>";
$replacement[22]="</center>";
ksort($badword);
ksort($replacement);
$bijdrage=$_POST["bijdrage"];
$bijdrage=cleanup($bijdrage,$badword,$replacement);
?>
sorry voor het slechte engels, ik heb in een luie bui m'n broertje de dingen laten invoeren.
in die cleanup() functie zitten dingen als addslashes, strip tags en preg_replace()
Had ik nog liggen:P
Link gekopieerd
Ik zou zulk soort tags niet gebruiken: <font color=red> , omdat je met stylesheets een veel schonere code krijgt, die ook overzichtelijker is.
@Armorad: Het zou handig zijn als je die functie cleanup() dan ook zou laten zien ;)...
Link gekopieerd
?
Onbekende gebruiker
22-11-2005 19:54
<?php
function cleanup($string=""){
$string=strip_tags($string,"<i><b><u><font>");
$string=htmlspecialchars($string);
$string=addslashes($string);
return $string;
}
?>
Link gekopieerd
<?PHP
$tekst = preg_replace ("#\[color=(\#[0-9A-F]{6}|[a-z\-]+)\](.*?)\[/color\]#si", "<font color=\"\\1\">\\2</font>", $tekst);
?>
Link gekopieerd
Jip schreef op 22.11.2005 19:52
Ik zou zulk soort tags niet gebruiken: <font color=red> , omdat je met stylesheets een veel schonere code krijgt, die ook overzichtelijker is.
@Armorad: Het zou handig zijn als je die functie cleanup() dan ook zou laten zien ;)...
Jip het gaat hier niet om de opmaak van een site te maken ;) Of wou je voor een bericht die iemand achterlaat elke keer een .css maken? Het gaat erom dat iemand een bericht kan maken [color=red]tekst[/color] en dat die dat dan gaat omzetten naar correcte HTML. Zo kan je met beperkte code werken en toch html opmaak in je berichten zetten. :D
Link gekopieerd