Justin Lein: RegExp: str_replace in preg_replace - howto?

Beitrag lesen

Ich hab ein kleines Problem.
Ich parse in einem Forum die Urls, baue aber auch alle 150 Zeichen einen automatischen Zeilenumbruch mit dem wbr Zeichen: ​ ein.

Das hat im href Attribut einer Url natürlich nichts zu suchen, weshalb ich das gerne dort entfernen würde.

Wie könnte ich das realisieren?
Mein Wunsch sieht wie folgt aus, wobei str_replace im preg_replace nicht funktioniert :(

// [url=""] aus dem Boardcode rausholen
$a[SEARCH][] = "/[url="([a-zA-Z0-9.-+]+)://([^ "\n]+)"](.*)[/url]/Usi";
$a[REPLACE][] = '[noparse]<a class="url" href="$1://'.str_replace("&#8203;", "", $2).'" target="_blank">[/noparse]$3</a>';

$string = preg_replace($a[SEARCH], $a[REPLACE], $string );

Vielen Dank für jeden Tip!