preg_replace ausserhalb von [ ] eckigen klammern

Hallo,

und weil's so schön ist noch eine Variante:
PHP:
<?php

$text = "text text bla text text [ text bla text text ] text bla text text 
text text bla Bla blA [ bla text ] text [ text bla text text ] text";

$term = "bla";
$replacement = "blub";

$text = preg_replace(
	'/((\G|])[^\[]*?)' . preg_quote($term) . '/i',
	'\1' . preg_quote($replacement),
	$text
);

echo $text;

# =>
# text text blub text text [ text bla text text ] text blub text text 
# text text blub blub blub [ bla text ] text [ text bla text text ] text

?>

Grüße,
Matthias
 
Zurück