PHP заменить много пробелов одним + HTML сущности
Primary tabs
Идея состоит в использовании регулярного выражения:
'| +|'
и фунции preg_replace() :
// заменям несколько проблем одним
$text = preg_replace('| +|', ' ', $text);
Замена множественных пробелов в смеси с HTML
делается так (только удалите пробелы между символами & n):
/**
* Заменяет множественный пробел на один
*
* (замена нескольких пробелов одним)
* - с учетом специфики замены пробелов на HTML сущности
*
* @param String $str исходная строка
* @return String строка после замены
*/
function multipleSpacesToOne($str)
{
$str = preg_replace('/(& nbsp;){2,}/', '& nbsp;', $str); // более 2 html сущностей
$str = preg_replace('/( & nbsp;)/', ' ', $str); // пробел и сущность
$str = preg_replace('/(& nbsp; )/', ' ', $str); // сущность и пробел
$str = preg_replace('/ {2,}/', ' ', $str); // просто двойной пробел
return $str;
}
На основе: http://www.shtogrin.com/library/web/pcre/examples/replace_space/
- Log in to post comments
- 8738 reads