Mailinglisten-Archive |
Michael Stenz schrieb:
> Hallo,
>
> ich habe für eine Webseite vor ein paar Jahren mal ein Regex für ein CMS
> geschrieben. Dort soll [center]text[/center] in zentrierten Text umgewandelt
> werden. Dies hat immer funktioniert. Bis der Provider auf eine Neue Version
> umgestellt hat. Ich weis jedoch nicht, welche Version er früher hatte und
> welche jetzt.
>
> If
> (preg_match("'\[(center|left|right)\](.*?|(.*?\n*?.*?)*)\[(/center|/left|/ri
> ght)\]'", $content))
probiers mal so:
preg_match('/\[(center|left|right)\][^\[]*\[\/\1\]/', $content)
> {
> $content =
> preg_replace("/\[(center|left|right)\](.*?|(.*?\n*?.*?)*)\[(/center|/left|/r
> ight)\]/" , "<div align=\"\\1\">\\2</div> " , $content);
> }
und so:
preg_replace('/\[(center|left|right)\]([^\[]*)\[\/\1\]/', '<div
align="\\1">\\2</div> ', $content);
> Hat jemand eine Ahnung wieso es nicht mehr funktioniert?
das der zweite überhaupt mal funktioniert hat wundert mich, weil du
nämlich '/' als Begrenzer hast, diese aber im regex nicht escaped hast.
php::bar PHP Wiki - Listenarchive