Программирование > Регулярные выражения
Замучался уже
tarya:
странно, конечно может и я чтото неправильно делаю, ... беребирациклом из базы данных строки и сверяю их через
$soc = ereg_replace (\'^([A-Za-zА-Яа-яЁё0-9\\.ІіЇїЄє\\s\\w\\-]+)*["-]([A-Za-zА-Яа-яЁё0-9\\.ІіЇїЄє\\ \\s\\w\\-]+)*"([A-Za-zА-Яа-яЁё0-9\\.ІіЇїЄє\\ \\s\\w\\-]+)*$\', \'\\\\1 "\\\\2"\', $row[sokr]);
странно но когда я использовал твой запрос, ничего проти него неимею но он ничего вообще ненаходил, воообще ноль
$soc = ereg_replace (\'~s /^([А-Яа-яЁё\\s\\w]+)\\"(.*)$/$1 \\"$2/\', \'\\\\1 "\\\\2"\', $row[sokr]);
вот так ноль...
а запрос парня второго вообще только ошибку выдавало.
ondr:
s/(\\S)(".+?")/$1 $2/sg; - это perl
Вот тебе для php: preg_replace(\'/(\\S)(".+?")/s\', \'\\\\1 \\\\2\', $your_var);
Phoinix:
tarya
Ты просто не правильно понял конструкцию:
~s /^([А-Яа-яЁё\\s\\w]+)\\"(.*)$/$1 \\"$2/
где:
^([А-Яа-яЁё\\s\\w]+)\\"(.*)$ - что искать;
$1 \\"$2 - на что заменять
Сотвественно:
s/(\\S)(".+?")/$1 $2/sg;
(\\S)(".+?") - что искать;
$1 $2 - на что заменять;
sg - как заменять...
Навигация
Перейти к полной версии