Поиск

Замена кавычек на «ёлочки» 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 196
Предыдущая запись Как выделить фразы в тексте
Следующая запись Верстка списка с отточием

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

С помощью расширения dompdf можно легко сформировать PDF файл. По сути, dompdf - это конвертер HTML в PDF который...
16.02.2018 10775
Часто на сайтах возникает необходимость вставлять в тексты страниц информационные блоки - баннеры, телефоны и т.д. Как...
17.03.2018 1378
Набор PHP функций для работы с файлами и директориями, получение списка файлов в папке, безопасное сохранение файлов.
07.11.2016 5144
Изображения нужно сжимать для ускорения скорости загрузки сайта, но как это сделать? На многих хостингах нет...
26.10.2018 2534
Примеры регулярных выражений для удаления данных из текста.
31.03.2018 6078
В последнее время нельзя пренебрегать кликабельными номерами телефонов т.к. количество клиентов, использующих мобильные...
23.08.2019 280