Mailinglisten-Archive |
Hi,
KM> Nabend Christian,
Nabend? ts, geh mal schlafen, es ist hellichter Tag, ich hab mir sagen
lassen, das draussen die sonne scheint *g*
KM> hehe, jau leider.. schefschen is am stunk machen,
KM> weil projekt noch nicht abgeschlossen ist ;-)
Naja, um 20:xx ist bei mir spaetestens schicht, das bringt eh nix
mehr, wenn man ein paar stunden gepennt hat, gehts schneller.
KM> vielen dank !
KM> könntest du mir sagen wo ich ein preg-docu finde ?
php.net/preg_replace
die perldoc ist bei jeder perldistribution dabei, gib einfach in nem
dosprompt
perldoc -q greedy
ein.
KM> könntest du das bitte näher erklären !?
Klar: Angenommen du hast einen String
$txt = "<small>Kleiner</small> <i>Text</i> <u>zum</u>
<big>erlaeutern</big> von <b>greedy</b>";
und du moechtest alle html-tags ersetzen durch <b>. In dem Fall ist
str_replace nicht maechtig genug, da muss preg_replace herhalten ;)
Ein erster Ansatz waere folgendes:
$txt = preg_replace("/<[^\/]*>(.*)<\/.*>/","<b>\\1</b>",$txt);
du wuerdest jetzt feststellen, dass der Ausdruck totalen Schwachsinn
mit deinem String anstellt: der Ausdruck ist greedy. Er geht nicht bis
zur ersten spitzen Klammer, sondern immer bis zur letzten. Das nennt
man "greedy" und wird verursacht durch den *-Quantifier, bzw. auch
durch den +.
Verhindert wird das einfach durch ein ? hinter dem Quantifier.
So, ich muss los,
--
mfg,
Christian mailto:CK1_(at)_wwwtech.de
http://wwwtech.de
php::bar PHP Wiki - Listenarchive