$str = preg_replace('/[\\r\\n!.,\'“”;'?-\s+]/', ' ', $str); $str=preg_replace('/\s+\S{1,2}(?!\S)|(?<!\S)\S{1,2}\s+/', '', $str);
Если я оставлю их так, есть проблема с производительностью, или это лучше.?
preg_replace
принимает массивы в качестве аргументов. Следующее должно быть эквивалентным:
$str = preg_replace(array('/[\\r\\n!.,\'“”;'?-\s+]/', '/\s+\S{1,2}(?!\S)|(?<!\S)\S{1,2}\s+/'), array(' ', ''), $str);