PHP

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

Эта функция заменяет:

Простые кавычки на «ёлочки»
«Минус» между словами на тире (—)
Также заменяет два или три минуса между словами на тире
Убирает пробелы между скобками и словами («( слово )« становится в »(слово)»)
То же самое, но для кавычек

например,
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;
}
Добавлено: 24 Августа 2013 03:09:17 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...