Yadalay
@Yadalay
Php, Mysql, Html, Css, Js/Jquery/Ajax, Laravel

Как все виды кавычек заменить на «…»?

Здравствуйте!
Подскажите, пожалуйста, регулярку, которая будет приводить любые кавычки (", ', `, „, “, ’) к виду «…» при условии, что есть открывающая и закрывающая (по логике) кавычка. Также предусмотреть ситуацию, если кавычки находятся в кавычках.
  • Вопрос задан
  • 479 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Исключительно для корректно написанного текста на русском языке можно так.
Заменить все кавычки, перед которыми стоит пробел или начало строки на открывающие "лапки":
$text = preg_replace('/(?<=^|\s)["\'`„“’]/u', '«', $text);

Заменить все оставшиеся кавычки на закрывающие "лапки":
$text = preg_replace('/["\'`„“’]/u', '»', $text);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
samodum
@samodum
Какой вопрос - такой и ответ
Регулярками это не решить. Нужно писать свою функцию на основе стека LIFO
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
21 сент. 2020, в 09:17
60000 руб./за проект
21 сент. 2020, в 07:59
110000 руб./за проект
21 сент. 2020, в 07:36
600 руб./в час