wahsaga: str_replace Problem

Beitrag lesen

hi,

ich dachte eigentlich das man str_replace einfach nicht in ein preg_replace schreiben darf.

preg_replace erwartet an dieser Stelle eine Zeichenkette (oder ein Array von Zeichenketten) als Parameter.

Ob diese Zeichenkette jetzt als Textliteral dort steht, oder sich als Rückgabewert einer an der Stelle aufgerufenen Funktion "ergibt", ist selbstverständlich vollkommen-sowas-von-furzegal!

Getestet habe ich es so:
$1 ist ja dann das Ergebnis von von der Suche also z.B.

Cream of Coconut

Die Leerzeichen soll dann durch str_replace mit einem _ ersetzt werden. Das funktioniert aber leider nicht.

Ähm ... du scheinst die Reihenfolge, in der die Funktionen ausgeführt werden, total missverstanden zu haben.

_Zuerst_ wird das str_replace ausgeführt - das ersetzt Leerzeichen durch Unterstrich.

_Dann_ wird diese bearbeitete Zeichenkette als Parameter für preg_replace benutzt.

Das Wort wird dann nicht einmal verlinkt. Lediglich [link] & [/link], das vor dem Wort steht, werden entfernt.

Lerne mal, sinnvoll und mit Verstand Problemanalyse zu betreiben.

Wenn ich den Verdacht habe, str_replace könnte "nicht funzen" - dann teste ich das doch logischerweise erst mal separat.
Wenn's dieses dann wieder erwarten doch tut - dann teste ich erst mal das preg_replace; und zwar nicht mit darin verschachteltem str_replace, sondern in dem ich wirklich erst mal nur eine statische Zeichenkette als Parameter nutze.

Über mehrere solcher Einzelerkenntnisse kann man sich idR. langsam aber sicher der eigentlichen Problemquelle nähern - aber nicht, wenn man den Code zu sehr verschachtelt, so dass man nachher selber nicht mehr ganz durchsieht, und dann die Vermutungen, wo die Fehlerursache liegen könnte, schon fast zwangsläufig in die vollkommen falsche Richtung laufen ...

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }