Дописать функцию правки текстов на PHP
Нужно, чтобы функция исправляла текст еще и по следующим правилам:
1. слово.слово – заменять на: слово. Слово (также для !? и т.п.)
2. слово,слово – заменять на: слово, слово (также для: ;:- и т.п.)
3. слово ,(или .;: и т.п.) – заменить на: слово,
4. слово –слово (или слово- слово) – заменить на: слово – слово
5. слово:»слово»-слово (и подобные случаи прямой речи без пробелов) – заменить на прямую речь с пробелами.
6.–слово – заменять на: - слово
Часть уже реализовано, но не работает верно.
Вот сама функция:
Function ClearString($abc){
$abc = preg_replace("/(\w)(\s)?([\.\!\?\:\;\,])(\w)/i","\\1\\3 \\4",$abc);
$abc = preg_replace("/(\!){2,}/","\\1",$abc);
$abc = preg_replace("/(\?){2,}/","\\1",$abc);
$abc = preg_replace("/(\,){2,}/","\\1",$abc);
$abc = preg_replace("/\t/"," ",$abc);
$abc = str_replace(" "," ",$abc);
return trim($abc);
}