Der Punkt in einem regulären Ausdruck matched nicht nur bei Zahlen.
Ankündigung
Einklappen
Keine Ankündigung bisher.
preg_replace ersetzte Zeichenkette oder länge der Ersetzten Zeichen auslesen
Einklappen
Neue Werbung 2019
Einklappen
X
-
Zitat von Asipak Beitrag anzeigenDer Punkt in einem regulären Ausdruck matched nicht nur bei Zahlen.
Also dann so:
PHP-Code:preg_replace('/{B (\d)}/', '{Buch ${1}}', '{B 5}')
Kommentar
-
Jetzt matchst DU nur einstellige Zahlen (Ziffern). Suboptimal würde ich sagen.[COLOR="#F5F5FF"]--[/COLOR]
[COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
„Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
[URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
[COLOR="#F5F5FF"]
--[/COLOR]
Kommentar
-
Dann ist das Fragezeichen aber unnütz.[COLOR="#F5F5FF"]--[/COLOR]
[COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
„Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
[URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
[COLOR="#F5F5FF"]
--[/COLOR]
Kommentar
-
Tja, ein typisches Beispiel dafür ist zum Beispiel der Einsatz von regulären Ausdrücken zur Interpretation von BBCode.Code:/\[b\](.*)\[\/b\]/
Bei deinem Ausdruck werden dagegen lediglich Ziffern verlangt, dass folgende Zeichen } ist aber nicht bestandteil der Zeichenklasse \d. Von daher werden dir dort keine Probleme entstehen.[URL]http://hallophp.de[/URL]
Kommentar
-
Allgemeiner ausgedrückt: auch wenn ein Ausdruck gierig ist, muss ja das Pattern passen.[COLOR="#F5F5FF"]--[/COLOR]
[COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
„Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
[URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
[COLOR="#F5F5FF"]
--[/COLOR]
Kommentar
-
Zitat von Asipak Beitrag anzeigenEtwas übertrieben, gleich mit Assertions rumzubasteln. Die Kombination aus [0-9]* und {1} ist auch eher gut gemeint als gut gemacht.
Kommentar
-
Ich sehe Assertions hier auch nicht als Anwendungszweck. Schließlich gibt es einen klar spezifizierten Ausdruck mit gerademal einer dynamischen Komponente, die sogar noch typisiert ist. Besser gehts für einen normalen reg. Ausdruck doch gar nicht.
So sähe meine Lösung aus:
PHP-Code:$ergebnis = preg_replace('#\{B\s+(\d+)\}#', '{Buch \1}', $test);
[COLOR="#F5F5FF"]--[/COLOR]
[COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
„Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
[URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
[COLOR="#F5F5FF"]
--[/COLOR]
Kommentar
Kommentar