我试图从php字符串中删除所有额外的空白字符。字符串来源来自客户评论的xml提要。
一些评论有太多的空白,他们显示在我的html!不管那是……空格键被打了太多次,回车,或者换行符,我只希望字符之间最多有一个空格' '
。
$review = str_replace(array(''n',''r'n',PHP_EOL,''0',''t'), '', $reviewText[1]);
$review = trim(ereg_replace(' +', ' ', $review));
我也尝试过使用preg_replace('/'s's+/', ' ', $review);
而不是trim(ereg_replace(
行
尽管我尽了最大的努力,我还是不能让这个不可见的空格/换行符消失。
任何想法?
我在下面的评论中粘贴了xxx来代替任何类型的识别信息。这是var_dump($review);
下面是评论:
http://www.mangomm.co.uk/test/string.phprtrim()ltrim ()trim ()
这些应该可以满足你的要求。
trim('----')
应该输出"
rtrim('----a----');
应该输出'----a'
ltrim('----a----');
应该输出'a----'
每个连字符代表一个空格。
编辑:和之后的 I read your post:)
新行是换行(<br>, <br />
等)吗?print_r
不将文本转换为htmlentities
ereg_*
函数已弃用。不要使用它们。
下面的正则表达式应该可以工作
preg_replace('/[[:space:]]+/', ' ', $review);
[:space:]
匹配空白字符。在"C"和"POSIX"区域设置中,它们是空格、换行('f
)、换行('n
)、回车('r
)、水平制表符('t
)和垂直制表符('v
)