Регулярное выражения.

VEgor

Новичок
Регулярное выражения.

Долго пытался сделать, но не получилось. Я новичок в регулярных выражениях.
Задача такая: заменить везде " (кавычку) на +quot;, кроме тэегов.

пример:

$a = 'aaa <a href="aaa.htm">aaa</a> "LLL" beee<a href="aa.htm">aa</a> ';

после обработки регуляным выражением должно стать:

$a = 'aaa <a href="aaa.htm">aaa</a> +quot;LLL+quot;beee<a href="aa.htm">aa</a> ';

Как решить такую проблему ?
 

Profic

just Profic (PHP5 BetaTeam)
А где разница? Я ее пока не вижу...

-~{}~ 13.10.04 19:00:

О увидел :)
 

Cougar

Кошак
...и не советую для столь простых замен/подстановок пользовать регулярные выражения - слишком уж медленно они работают
 

VEgor

Новичок
кхм, чтото я не понял.
каким образом кавычки остануться в тэгах? методом описаном выше заменятся все кавычки, такую ерунду и не сталбы спрашивать, я другой вопрос задал.

пожалуйста повнимательнее прочитайте вопрос, и кто знает дайте ответ. Ок не обязательно сделать это регулярными, но какой самый простой метод для такой фишки?? раскладывать по символьно, и сравнивать еще медленее будет.

ЕЩЕ РАЗ:
КАВЫЧКИ НУЖНО ЗАМЕНИТЬ ТОЛЬКО В ТЕКСТЕ, А В ТЭГАХ ОСТАВИТЬ!
 

VEgor

Новичок
зачем ? - чтото типа правельный html... для чего все это долго описывать, а это уже другая тема для разговора, офтопить давайте не будем.
 

Фанат

oncle terrible
Команда форума
почему не будем?
интересно же.

а заменять надо, наверное, через preg_replace_callback
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: VEgor
ЕЩЕ РАЗ:
КАВЫЧКИ НУЖНО ЗАМЕНИТЬ ТОЛЬКО В ТЕКСТЕ, А В ТЭГАХ ОСТАВИТЬ!
Разбить текст по тегам:
PHP:
$ary = preg_split('/(<[^>]+>)/', $a, -1, PREG_SPLIT_DELIM_CAPTURE);
далее кавычки в тексте заменить, в тегах оставить, потом implode.

-~{}~ 13.10.04 22:41:

Кхм. Пробела в реге, есессно, нету --- форум, скотина, добавляет.
 
Сверху