Замена " на «»

TAPAKAH TAPAKAH   03.03.2019 14:34   224  
Очередной ребус знатокам.
Я снова решил поломать голову, чтобы решить задачу с заменой кавычек " на более привлекательные «ёлочки».

Но проблема в том, что текст для замены не идеален.

Есть в тексте ошибки, которые требуется решить регулярным выражением. Пример ошибок:

"  Текст"

"Текст  "

"  Текст  "

и сложный вариант

"ТД "Ромашка"



Если бы не было лишних пробелов, то решилось бы всё следующим регулярным выражением:
$text = preg_replace("/([^\s>])\"/s","$1»", preg_replace("/\"([^\s])/s","«$1", $text));

Но увы, итог следующий:
вылезает такое:

фирма» Ромашка»

Не соображу как правильно создать правило, чтобы учесть все нюансы.




Ответы на вопрос (1) Написать ответ
TAPAKAH TAPAKAH   03.03.2019 14:50
$text = preg_replace("/([^\s>])\"/s","$1»", preg_replace("/\"([^\s])/s","«$1", $text));
$text = preg_replace("/([^\s>])\s\"/s","$1»", preg_replace("/\"\s([^\s])/s","«$1", $text));

Тоже не даёт нужного результата.
Наверное здесь надо в первой строке реализовать проверку на лишние пробелы
" текст"
и
"текст "
0

Войдите, чтобы написать ответ
Вход Регистрация

Медленные сайты убивают! Закажи быстрый хостинг на CloudLinux и SSD-дисках. Более 15 стран для размещения вашего сайта.