Mailinglisten-Archive |
>> $text = str_replace('[u]',<u>,$text);
>> $text = str_replace('[b]',<b>,$text);
>> $text = str_replace('[i]',<i>,$text);
>> $text = str_replace('[/u]',</u>,$text);
>> $text = str_replace('[/b]',</b>,$text);
>> $text = str_replace('[/i]',</i>,$text);
>>
>> echo $text;
>
> Hallo
>
> So hatte ich das ganze auch zuest gelöst jedoch gibt es da ein grossers
> problem... und zwar wenn jemand im editor [/u] vergisst zu schiessen wwird
> dann die ganze seite unterstrichen :)
hm...ich hab einfach alle tags in einem array und kontrolliere die dann
auf gleichen anzahl:
vielleicht kannst du das script ja elegant überarbeitetwieder in die
liste stellen :)
function check_tags($string) // kontrollliert ob gleich viele +xyz+ wie
-xyz- vorkommen
{
$gr = array("+gr+","-gr-");
$u1 = array("+u1+","-u1-");
$rot = array("+rot+","-rot-");
$mail = array("+mail+","-mail-");
$link = array("+link+","-link-");
$kl = array("+kl+","-kl-");
$tags = array($gr,$u1,$rot,$mail,$link,$kl);
foreach ( $tags as $elem)
{
$offset = 0;
$count_b1 = 0;
while($pos = strpos(" ".$string,$elem[0],$offset) )
{
$count_b1++;
$offset = $pos + 3;
if ($count_b1 > 200) die("!!!!!!!!!!endlos");
}
$offset = 0;
$count_b2 = 0;
while($pos = strpos(" ".$string,$elem[1],$offset) ) // mit " ". wird der
suchstring auch am anfang des strings gefunden.
{
$count_b2++;
$offset = $pos + 3;
if ($count_b2 > 200) die("!!!!!!!!!!endlos");
}
if ($count_b1 != $count_b2)
die("Die Anzahl der Zeichen $tag1 und $tag2 stimmt nicht überein.<br>
Sie müssen jeden angefangenen Fettdruck auch wieder abschliessen.
(Bsp.: unwichtiger text $elem[0] wichtiger text $elem[1] unwichtiger text)
<br><br>Der Text wurde nicht gespeichert.</body></html>");
}//end foreach
}
php::bar PHP Wiki - Listenarchive