Как эффективно заменить кавычки (или символы переноса) в части динамической строки HTML? - PullRequest
0 голосов
/ 14 апреля 2011

У меня есть строка html, например -

...style="background-position: left top; background-image: url("http://localhost/abc/{DYNAMIC CONTENT}") etc...

Какой бы быстрый и эффективный способ заменить двойные кавычки внутри url("") части на одиночные , если естьдвойные кавычки после стиля = " Мне не нужно заменять кавычки везде, только в этом определенном месте. Спасибо.

1 Ответ

1 голос
/ 14 апреля 2011

Используйте регулярное выражение (совпадение с достаточным контекстом для меньшего количества ложных срабатываний):

$src = preg_replace(
           '#(style="[^"]+:\s*url)   [(]"   ([^"]+)   "[)]#x',
           "$1('$2')",
           $src
       );

Хотя это заменяет только одну двойную кавычку " " пара на строку style=. Поэтому вам, возможно, придется запустить его дважды над источником, если вы ожидаете несколько искаженных выражений атрибутов / url ("..").

...