• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Trotz U wird preg_replace "gierig" warum?

Status
Für weitere Antworten geschlossen.

CrackPod

Neues Mitglied
[php:1:7dc8f36537]<?php
$txt1 = "Verschachtelung: [ b]Langweiliger, [ i]dummer[ /i] und [ u]sinnloser[ /u] Bildtext[/b] ";
$txt2 = "[ u][ i][ b]und jetz Fehler[ /b][ /i][ /u]: ";
$txt3 = "[ u]unterstreichen wird [ b]ned[ /b] aufgehört [ u]oder[ /u] kursiv grundlos beendet[/I] falsche verschachtelung:[ b][ u]fett&amp;unterstrichen[ /b][ /u]";
function bbcode($str)
{
$str = preg_replace("!\[b\](.*?)\[/b\]!isU","$1",$str);
$str = preg_replace("!\[i\](.*?)\[/i\]!isU","$1",$str);
$str = preg_replace("!\[u\](.*?)\[/u\]!isU","<u>$1</u>",$str);
return $str;
}
echo bbcode($txt1);
echo bbcode($txt2);
echo bbcode($txt3);
?>[/php:1:7dc8f36537]

Das is mein code aber, wenn man den ausführt, merkt man, dass das ding gierig wird wie bei http://www.tutorials.de/tutorials142738.html&highlight=regul%E4re+ausdr%FCcke beschrieben und trotz U bleibt das drecks ding gierig..

Bitte die Leerzeichen der BBCodes, die in den strings vorkommen weglassen(hab ich gemacht weil sonst phpbb das als fett oder so schreibt)
 
Werbung:
Werbung:
ich weiß jetzt wo der fehler lag:
(.*?) das ? macht die function von U wieder rückgängig(frag mich ned warum), aber als ich es rausgenommen habe, hats gefunzt
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben