PHP

Улучшаем удобочитаемость текста

Эта функция заменяет:
1. Простые кавычки на «ёлочки»
2. «Минус» между словами на тире (—)
3. Также заменяет два или три минуса между словами на тире
4. Убирает пробелы между скобками и словами («( слово )« становится в »(слово)»)
5. То же самое, но для кавычек
например,
Quote:
Я ""кажется" "что-то"" -- ( забыл )

становится в
Quote:
Я ««кажется» «что-то»» — (забыл)

К сожалению, в регулярных выражениях я не очень сйлён, поэтому могут быть глюки... подскажите, если что.

Код функции:
Code (php):
function tipografika($str) {
        $str = preg_replace("/\"(|(.+?))\"/","«\\2»",$str); // Делаем «правильные» кавычки
        $str = preg_replace("/»(|(.+?))«/","«\\2»",$str); // Устраняем косяки, которые могут возникнуть благодаря предыдущему выражению
        $str = preg_replace("/«(.+?)«(.+?)»(.+?)»/","«\\1»\\2«\\3»",$str); // Опять устраняем косяки =)
        $str = preg_replace("/(.+?)\s-\s(.+?)/","\\1 — \2",$str); // Заменяем «минус» между словами на тире
        $str = preg_replace("/(.+?)\s--\s(.+?)/","\\1 — \\2",$str); // Заменяем два минуса между словами на тире
        $str = preg_replace("/(.+?)\s---\s(.+?)/","\\1 — \\2",$str); // Заменяем три минуса между словами на тире
        $str = preg_replace("/\(\s(.+?)(|\s)\)/","(\\1)",$str); // Убираем пробелы между словами и скобками
        $str = preg_replace("/«\s(.+?)(|\s)»/","«\\1»",$str); // Убираем пробелы между словами и кавычками
        return $str;
}
Теги:
удобочитаемость текста
Добавлено: 20 Апреля 2018 08:51:45 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...