Reluläre Ausdrücke
science
- php
Hallo @ all,
Ich hoffe ihr könnt mir helfen...
1. Kennt ihr ein vollständiges Manual über die Regulären Ausdrücke in PHP, deren verarbeitung und eventulle Fehler in einzelnen Versionen (desto genauer desto besser)...
2. Der Grund für meinen Beitrag:
$text = preg_replace ("/$start.*?$ende/esi", "str_replace ('$ze', '$de', '$0')", $text);
hat bisher wunderbar funktioniert, nun wird allerdings ohne dass ich etwas am Programmcode verändert hätte, die Funktion nicht mehr richtig ausgeführt, und ersetzt nicht mehr innerhalb von $start und $ende, $ze durch $de, könnt ihr weiterhelfen?
3. Wenn ich schon mal schreibe noch eine dritte Frage, PHP wendet manchmal quasi automatisch auf Zeichenketten die Funktionen addslashes bzw. stripslashes an, was natürlich extrem störend ist, gibt es eine Systemvariable oder ähnliches mit der dies zu verhindern ist?
--
mfg Science
Hallo!
- Kennt ihr ein vollständiges Manual über die Regulären Ausdrücke in PHP, deren verarbeitung und eventulle Fehler in einzelnen Versionen (desto genauer desto besser)...
Nein. Ein paar Links zu Regulären Ausdrücken:
http://tut.php-q.net/regex.html
http://www.dclp-faq.de/ch/ch-regexp.html
http://de3.php.net/manual/de/pcre.pattern.syntax.php
http://www.regular-expressions.info/
http://www.pcre.org/man.txt
Fehler in den Funktionen kannst Du hier finden: http://bugs.php.net/ (war grad komischerweise offline)
Änderungen an Funktionen sollte man normalerweise hier finden: http://de3.php.net/ChangeLog-4.php (und/oder im CVS)
- Der Grund für meinen Beitrag:
$text = preg_replace ("/$start.*?$ende/esi", "str_replace ('$ze', '$de', '$0')", $text);
Ich bin jetzt nicht ganz sicher was genau Du da machst, aber Dir ist schon klar dass Variablen in single-quoted Strings nicht ausgewertet werden, ja?
http://de3.php.net/types.string#language.types.string.syntax.single
hat bisher wunderbar funktioniert, nun wird allerdings ohne dass ich etwas am Programmcode verändert hätte, die Funktion nicht mehr richtig ausgeführt, und ersetzt nicht mehr innerhalb von $start und $ende, $ze durch $de, könnt ihr weiterhelfen?
Was wurde denn genau geändert? Das heißt, von welcher Version auf welche Version, und sind Konfigurations-Einstellungen geändert worden?
- Wenn ich schon mal schreibe noch eine dritte Frage, PHP wendet manchmal quasi automatisch auf Zeichenketten die Funktionen addslashes bzw. stripslashes an, was natürlich extrem störend ist, gibt es eine Systemvariable oder ähnliches mit der dies zu verhindern ist?
Eigentlich nur addslashes, je nach Konfiguration.
Guck Dir mal in der php.ini die Direktiven "magic_quotes_gpc" und "magic-quotes-runtime" an.
Ist sinnvoll das abzuschalten, aber dann musst Du Dich auch wirklich überall selber drum kümmern, wo es angebracht ist.
php.ini: http://cvs.php.net/co.php/php-src/php.ini-dist
Grüße
Andreas
Hallo Andreas,
Vielen Dank für diese Umfassende Antwort, ich hoffe damit sind alle Punkte geklärt.
mfg Science