Регуляркой убрать вложенные кавычки

Статус
Закрыто для дальнейших ответов.

Volly

Well-Known Member
Регистрация
21.03.2012
Сообщения
831
Имеем строку

<img title="те кс т 34 "На зв 22 ана ие" те кс т 34 " src="http://....jpg" />

т. е. кавычки двойные в двойных кавычках.
Знаки и их количество может быть любым, допустимым в title.

Надо регуляркой заменить вложенные кавычки на их эквиваленты.
Подскажите регулярное выражение. У меня не получается.
Спасибо
 

Volly

Well-Known Member
Регистрация
21.03.2012
Сообщения
831
Ну вот, сам сделал, работает правильно, но код не красивый.
В переменной может быть много вставок img с title вложенных кавычек
Код:
$ret = '<img title="те кс т 34 "На зв 22 ана ие" те кс т 34 " src="http://....jpg" />';
$n = preg_match_all('~<img title=".*?".*?".*?" *?src=~im', $ret, $arr);
for ($i = 0; $i < $n; ++$i) {
   $m = explode('"', $arr[0][$i]);
   $rep = $m[0].'"'.$m[1].'&quot;'.$m[2].'&quot;'.$m[3].'"'.$m[4];
   $ret = str_replace ($arr[0][$i], $rep, $ret);
}
 
Статус
Закрыто для дальнейших ответов.
Верх Низ