Hallo,
ich habe ein Problem, wie oben genannt mit der Funktion [PHPF]preg_replace[/PHPF].
Vorweg ist zu sagen, dass ich schon reichlich Kenntnisse in dieser Programmiersprache gesammelt habe und ich nun versuche, mich an das Thema "Suchen - Ersetzen" ranzusetzen.
Um dies mal ganz einfach aufzubauen, habe ich beispielsweise einen Text genommen, der einen BBCode enthält und ich diesen dann ersetzen möchte.
Dazu habe ich mir ein kleines Skript geschrieben und habe ebenfalls im Handbuch nachgelesen, dass man auf die Gruppen mit \\n zugreifen kann.
Nun hab ich aber folgendes Problem:
Wenn ich den Text "test" mit meinem Suchmuster durchsuche und ich zum Ersetzen "<\\1>\\2<\\3>" angebe, gibt PHP mir den Text zwar fett gedruckt aus, allerdings auch nur die Buchstaben zwischen erstem und letztem Buchstaben, sprich "es".
Hat jemand eine Idee, weshalb dieser Fall eintritt?
Hier nochmal der gesamte Code:
Wäre nett, wenn mir jemand helfen könnte. Vielleicht gibt es bei der Funktion auch Verbesserungsvorschläge...
ich habe ein Problem, wie oben genannt mit der Funktion [PHPF]preg_replace[/PHPF].
Vorweg ist zu sagen, dass ich schon reichlich Kenntnisse in dieser Programmiersprache gesammelt habe und ich nun versuche, mich an das Thema "Suchen - Ersetzen" ranzusetzen.
Um dies mal ganz einfach aufzubauen, habe ich beispielsweise einen Text genommen, der einen BBCode enthält und ich diesen dann ersetzen möchte.
Dazu habe ich mir ein kleines Skript geschrieben und habe ebenfalls im Handbuch nachgelesen, dass man auf die Gruppen mit \\n zugreifen kann.
Nun hab ich aber folgendes Problem:
Wenn ich den Text "test" mit meinem Suchmuster durchsuche und ich zum Ersetzen "<\\1>\\2<\\3>" angebe, gibt PHP mir den Text zwar fett gedruckt aus, allerdings auch nur die Buchstaben zwischen erstem und letztem Buchstaben, sprich "es".
Hat jemand eine Idee, weshalb dieser Fall eintritt?
Hier nochmal der gesamte Code:
PHP:
$text = "test";
echo preg_replace("/^\[(.+)\]\w(.*)\w\[(\/.+)\]?$/U", "<\\1>\\2<\\3>", $text);
Wäre nett, wenn mir jemand helfen könnte. Vielleicht gibt es bei der Funktion auch Verbesserungsvorschläge...