无法删除在php中从Internet检索到的字符串中的额外空格

时间:2014-12-10 07:10:11

标签: php preg-replace file-get-contents str-replace

我正在尝试使用file_get_contents()删除我从Internet获得的字符串的额外空格。我尝试了str_replace()和.preg_replace(),还搜索但没有一个工作。

这是我的代码:

<?php $html_content = file_get_contents("http://mindcity.sina.com.hk/MC-lunar/daily/2014/12/20141209_b5.html");

$html_content =  mb_convert_encoding($html_content, 'UTF-8', 'BIG-5');
$html_content = strip_tags($html_content); 

$start_pos = strrpos($html_content, "宜 :");
$end_pos = strrpos($html_content, "凶神宜忌 :") - strlen($html_content);
$good_to_do = substr($html_content, $start_pos, $end_pos);
echo $good_to_do .'<br>';
//remove whitespace of $good_to_do
$good_to_do = str_replace(' : ','*',$good_to_do);
$good_to_do = preg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u', '', $good_to_do);
$good_to_do = str_replace(array("\r\n", "\r", "\n", "\t", "\0", "\s", "\x0B", "\x20", "\xA0"), '*', $good_to_do);
var_dump( $good_to_do ); ?>

2 个答案:

答案 0 :(得分:0)

$good_to_do = preg_replace('/\s+/', '*', $good_to_do);

我把'*'放在那里,因为那是你要用它取代它的?你可以放任何你喜欢的东西。

答案 1 :(得分:0)

在查看源时,发现空格为&nbsp;。 所以代码就变成了str_replace('&nbsp;', '', $html_content);