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