Preg_replace в php — множественная замена

У меня есть $string, который содержит:

this example

и у меня есть эти 3 выражения:

$pattern = array('/aa*/','/ii*/');
$replacement = array('<i>$0</i>','<b>$0</b>');
preg_replace($pattern, $replacement, $string);

где preg_replace возвращает:

th<b>i</b>s ex<<b>i</b>>a</<b>i</b>>mple

и мне нужен вывод следующим образом:

th<b>i</b>s ex<i>a</i>mple

это означает, что я хочу заменить только символы в исходной строке. Является ли это возможным?


person wrz90    schedule 17.03.2015    source источник


Ответы (1)


Это делает трюк в моем тестировании

$pattern = array('/([a-z|^|\s])(aa*)/', '/([a-z|^|\s])(ii*)/');
$replacement = array('$1<i>$2</i>','$1<b>$2</b>');
person mike.k    schedule 20.05.2015