Anführungszeichen ("") zuverlässig durch » « ersetzen?
Antje
- php
0 Cheatah0 Antje
0 Christian H.
Hallo,
kann mir jemand helfen?
Wie kann ich in einem Text per PHP die Anführungszeichen ("") zuverlässig durch diese (»«) ersetzen?
Das Problem sind Links oder Image Links, die dann natürlich auch geändert werden und dann nicht mehr funktionieren.
So wird mittels:
$posting=str_replace(" ""," »",$posting);
$posting=str_replace("" ","« ",$posting);
dieser Text
Sie haben "hier" Anführungszeichen
in
Sie haben »hier« Anführungszeichen
ersetzt, aber auch
a href="....">text</a>
in
a href=»...«>text</a>
gewandelt.
Für jeden Rat bin ich dankbar.
Gruss und Kuss,
Antje
Hi,
Wie kann ich in einem Text per PHP die Anführungszeichen ("") zuverlässig durch diese (»«) ersetzen?
durch eine Analyse des Textes. _Nicht_ durch simple Ersetzungen.
$posting=str_replace(" ""," »",$posting);
$posting=str_replace("" ","« ",$posting);
"Ich gehe jetzt", sagte Tim, "und wasche mir die Finger."
Eines der vier Quotes würde von Dir ersetzt werden.
a href="....">text</a>
"Man beachte auch <a href="schachtelungen.html">besondere Schachtelungen</a> im Algorithmus."
Cheatah
Du hast nochmal schön die bekannte Problematik aufgezeigt, die mir selbst bewusst ist. Aber das hilft mir keinen Deut bei der Lösung.
Moin,
Du hast nochmal schön die bekannte Problematik aufgezeigt, die mir selbst bewusst ist. Aber das hilft mir keinen Deut bei der Lösung.
Das geht so mit einfachen regulären Ausdrücken nicht. Es würde begrenzt gehen, wenn du einen Stack benutzt, damit du Schachtelungen erkennen kannst. Wirklich gehen wird das aber nicht, ohne dass du etwas intelligentes (lies: einen Menschen) benutzt.
Huhu Henryk
Das geht so mit einfachen regulären Ausdrücken nicht.
Vor einiger Zeit habe ich für genau dieses Problem ein Skript geschrieben.
Im wesentlichen ist das nur ein preg_replace mit einer callback Funktion die einen zweiten preg_replace macht.
Also eigentlich ein Zweizeiler (was nicht heisst das ich nicht mehrere Stunden daran rumgefummelt habe ;-)).
Das Ergebnis schaut dann so aus:
http://www.maledivas.de/self/quote_it.html
Nur bei dem 19"-Zoll Monitor klappt es nicht, die Tüttelchen müssen immer paarweise auftreten.
Viele Grüße
lulu
Hi,
Nur bei dem 19"-Zoll Monitor klappt es nicht, die Tüttelchen müssen immer paarweise auftreten.
Also so?
Ein 19"-Monitor ist größer als ein 17"-Monitor.
;-) SCNR ;-)
cu,
Andreas
Hallo,
kann mir jemand helfen?
mal schauen.
Wie kann ich in einem Text per PHP die Anführungszeichen ("") zuverlässig durch diese (»«) ersetzen?
Das Problem sind Links oder Image Links, die dann natürlich auch geändert werden und dann nicht mehr funktionieren.
de.comp.lang.php-FAQ
8.11. Wie ersetze ich in einem Text, jedoch nicht innerhalb von HTML-Tags?
http://www.dclp-faq.de/q/q-regexp-ersetzen.html
Gruß
Christian