Задать вопрос
@Yadalay
Php, Mysql, Html, Css, Js/Jquery/Ajax, Laravel

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

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

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

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

Похожие вопросы