Перейти к содержимому

Фотография
- - - - -

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


  • Вы не можете создать новую тему
  • Закрытая тема Тема закрыта
В теме одно сообщение

#1 Volly

Volly

    Увлеченный

    Топикстартер
  • Участник
  • 110
    546 сообщ.

Отправлено 04 Июнь 2015 в 18:05

Имеем строку

 

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

 

т. е. кавычки двойные в двойных кавычках.

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

 

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

Подскажите регулярное выражение. У меня не получается.

Спасибо


  • 0

Спонсор

#2 Volly

Volly

    Увлеченный

    Топикстартер
  • Участник
  • 110
    546 сообщ.

Отправлено 06 Июнь 2015 в 03:29

Ну вот, сам сделал, работает правильно, но код не красивый.

В переменной может быть много вставок 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);
}

Сообщение отредактировал Volly: 06 Июнь 2015 в 03:32

  • 0



Похожие темы Свернуть

Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей