jeka!
Просто Member
Автоправка текста (правильное форматирование)
Очень часто случается забивать разные тексты при обновлении сайта и т.п, как правило попадаются случаи где текст сбит в кучу и нет например пробела после запятых и точек, или наоборот пробелы там где не надо.
Я уже умучился самостоятельно править такие тексты, и хочу найти некоторое решение данной задачи.
Может кто встречал, уже написанные скрипты для правильного форматирования текста, подскажите...
Я тут написал небольшую функцию, которая делает это, но не совсем правильно, например если в тексте есть название файла с расширением, то после названия и точки будет ставиться пробел, да и возможно в других случаях не исключены баги, в частности с английским текстом.
[ЦВЕТОМ=darkblue]
function text($string) {
$string = preg_replace(
array("/\r+/","/[\s\t]+/","/([:;\)%\?!\}\],\.])+/","/([\(\{\[])+/","/'/","/(\"[^\"]+\")/","/\s+/"),
array(""," ","\\1 "," \\1","\""," \\1 "," ")," ".$string." ");
$string = preg_replace(
array("/(т\.)\s([дпе])/","/(\")\s([:;\?!,\.])/","/([0-9]+)\s?([\+\*\/\.<>-])\s?([0-9]+)/"),
array("\\1\\2","\\1\\2","\\1\\2\\3"),$string);
return trim($string);
}[/ЦВЕТОМ]
Очень часто случается забивать разные тексты при обновлении сайта и т.п, как правило попадаются случаи где текст сбит в кучу и нет например пробела после запятых и точек, или наоборот пробелы там где не надо.
Я уже умучился самостоятельно править такие тексты, и хочу найти некоторое решение данной задачи.
Может кто встречал, уже написанные скрипты для правильного форматирования текста, подскажите...
Я тут написал небольшую функцию, которая делает это, но не совсем правильно, например если в тексте есть название файла с расширением, то после названия и точки будет ставиться пробел, да и возможно в других случаях не исключены баги, в частности с английским текстом.
[ЦВЕТОМ=darkblue]
function text($string) {
$string = preg_replace(
array("/\r+/","/[\s\t]+/","/([:;\)%\?!\}\],\.])+/","/([\(\{\[])+/","/'/","/(\"[^\"]+\")/","/\s+/"),
array(""," ","\\1 "," \\1","\""," \\1 "," ")," ".$string." ");
$string = preg_replace(
array("/(т\.)\s([дпе])/","/(\")\s([:;\?!,\.])/","/([0-9]+)\s?([\+\*\/\.<>-])\s?([0-9]+)/"),
array("\\1\\2","\\1\\2","\\1\\2\\3"),$string);
return trim($string);
}[/ЦВЕТОМ]