Mailinglisten-Archive |
Niels Runge wrote:
>>> 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))
>>>
>> Schnell-guess:
>> Alle Backslashes müssen doppelt sein, da sie in einem String sind... \n
>> ist sonst zum Beispiel ein Zeilenumbruch...
>>
>>
> dann wäre hiermit wohl geholfen
> http://php.net/preg_quote
Nein... Denn das problem besteht schon, bevor du den Text durch diese
Funktion jagen könntest...
Denn "\n" enterpretiert der php-Parser sofort als Zeilenumbruch und
nicht als \n.
Es würde eventuell allerdings auch schon helfen, wenn du ' statt " als
Stringklammern verwendest. Denn in ' macht sich der php-parser mit sowas
nicht so viel Arbeit (wird daher übrigens auch schneller geparst!).
>
> Gruß
> Niels
php::bar PHP Wiki - Listenarchive