Замена кавычек на «ёлочки» PHP

Для форматирования текста иногда требуется заменить все кавычки в тексте на французские «ёлочки», сделать это можно с помощью PHP-функции:

function replace_quotes($text)
{
	$text = htmlspecialchars_decode($text, ENT_QUOTES);
	$text = str_replace(array('«', '»'), '"', $text);
	return preg_replace_callback('/(([\"]{2,})|(?![^\W])(\"))|([^\s][\"]+(?![\w]))/u', 'replace_quotes_callback', $text);
}

function replace_quotes_callback($matches)
{
	if (count($matches) == 3) {
		return '«»';
	} elseif (!empty($matches[1])) {
		return str_replace('"', '«', $matches[1]);
	} else { 
		return str_replace('"', '»', $matches[4]);
	}
}
PHP

Использование

$text = '
	"В чащах юга жил бы цитрус?"
	"В чащах юга" жил бы "цитрус"!
	"В чащах юга жил бы "цитрус"?
	"В" чащах юга жил бы цитрус?"
';

echo replace_quotes($text);
PHP

Результат

«В чащах юга жил бы цитрус?»
«В чащах юга» жил бы «цитрус»!
«В чащах юга жил бы «цитрус»?
«В» чащах юга жил бы цитрус?»
20.08.2019 , обновлено 15.10.2019
Предыдущая запись Как выделить фразы в тексте
Следующая запись Верстка списка с отточием

Комментарии

, чтобы добавить комментарий.

Другие публикации

Данный вопрос возникает при верстке писем т.к. стили прописанные в head в почтовых сервисах и программах не работают, а...
25.12.2016 4069
Часто на сайтах возникает необходимость вставлять в тексты страниц информационные блоки - баннеры, телефоны и т.д. Как...
17.03.2018 1609
С помощью расширения dompdf можно легко сформировать PDF файл. По сути, dompdf - это конвертер HTML в PDF который...
16.02.2018 13926
В статье приведен пример формы и php-скрипта для безопасной загрузки файлов на сервер, возможные ошибки и рекомендации...
25.11.2017 16498
В последнее время нельзя пренебрегать кликабельными номерами телефонов т.к. количество клиентов, использующих мобильные...
23.08.2019 895
PHP функции для исправление неправильной раскладки клавиатуры в тексте и использование их в поиске по сайту.
15.08.2019 738