Недолюбливаю регулярные выражения, но надо признать, что некторые проблемы они решают очень эффективно.
1. При создании yml файла для Маркета столкнулся с ошибкой "PCDATA invalid Char value 3" .
Вот этот дурацкий символ на картинке. Виден только в hex режиме, в обычном коде не виден.
Обычно левые символы можно убрать через iconv(..//ignore). Но этот метод не сработал. А через регулярку "PCDATA invalid Char value 3" лечится в одну строку.
1 |
$s = preg_replace ('/[\x{0003}]+/', ' ', $s); |
2. Обрезать корректно текст, по количеству символов, до точки. Например в Яндекс.Маркете на описание ограничение в 3000 символов.
1 2 3 |
if (preg_match('/^.{1,3000}\b/su', $sDesc, $match)){ $sDesc = $match[0]; } |
3. Убрать множественные пробелы в тексте
1 |
$s= preg_replace('/ {2,}/',' ',$s); |
Свежие комментарии