Rato Micefarmer: preg_match() - reguläre Ausdrücke verarbeiten

Beitrag lesen

$text = preg_match("=[(.*)]=U", '<a href="[hostname]/'.$1.'">'.$1.'</a>', $text);

Du gibst also an, dass in '$text' der Rückgabewert von 'preg_match()', der entweder 0 oder 1 ist, gespeichert wird, und gleichzeitig willst du in '$text' den Treffer speichern lassen.

Gedacht wäre, dass $1 dem regulären Ausdruck (.*) entspricht, was is daran falsch?

Genau das, was Cheatah schon geschrieben hat. Wenn wirklich beabsichtigt ist, das der Subpattern '(.*)' den Inhalt von '$1' enthält (nur nebenbei, ein Variablenname darf nicht mit einer Zahl beginnen), so wirst du diesen ändern müssen. Denn dieser Subpattern würde, wenn er nicht in einer Zeichenklasse stände, auf jedes mögliche Zeichen matchen. Aufgrund des '*' nach dem '.' und der Tatsache, dass dieser Regex ungready ist, würde dieser Subpattern einen leeren String zurückliefern.

mfg
Rato

--
§§§
Meine Postings basieren lediglich auf mein Wissen und können völliger Blödsinn sein.
§§§