preg-Regex ist nicht "global"?!
preg_replace, so will es die Theorie, ist standardmäßig "global".
Nun... ich versuche mich gerade an einem Skript, das in einem WordPress-System (das "..." automatisch durch &8220;...&8221; ersetzt) anständige deutsche Anführungszeichen einfügen soll, ohne die HTML-Tags zu zerschießen. Das klappt so weit: PHP-Code:
Zitat:
|
AW: preg-Regex ist nicht "global"?!
Das wäre wohl zu einfach?
http://mod.php.developer.vc/str_replace-1/ (Quelltext wird angezeigt) |
AW: preg-Regex ist nicht "global"?!
Nein, "zu einfach" trifft es nicht. ;)
Eher zu unflexibel - es sei denn, du hast einen Suchen-String für str_replace parat, der die gewünschte Funktionalität mit allen Sonderfällen abbildet...? (Ich möchte ähnlich auch für einfache Anführungszeichen vorgehen, und da wird's mit allen 's und 'n ("Ich hab'n Haus, du hast 'n Haus, 's ist ein schönes Haus, 'siehst du das auch so?' fragte er" usw. usf.) schon etwas unübersichtlich - oder übersehe ich gerade etwas ganz Wesentliches? Das wäre natürlich prima!) Auch dann bliebe meine Frage aber bestehen: Warum ist preg_replace nicht fähig zu mehreren Ersetzungen? |
AW: preg-Regex ist nicht "global"?!
Zitat:
Natürlich is das hartes Holz, aus US-ASCII typographisch sauberen Text zu basteln. Obwohl ich mir mit DTP zwischen '90 und '94 meine täglichen Brötchen verdient hatte, sind meine typographischen Kenntnisse eher dürftig. Zitat:
Zitat:
Zitat:
Dein Suchstring war allerdings "zu gierig" aka die Option U hatte gefehlt: http://mod.php.developer.vc/pcre-2/ (Quelltext wird angezeigt) |
AW: preg-Regex ist nicht "global"?!
Ah, danke, daran lag's! :) Daran hatte ich gar nicht gedacht. Ärgerlich!
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:34:33 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.