2012-06-29 66 views
0

我使用curl将网站的内容转换为字符串。之后,我想要规定所有的空格。为此我使用$content = preg_replace('/\s+/', '', $content);。但它不能正常工作。我究竟做错了什么?去掉所有空格

我用这个代码来获取内容:

$curl_handle = curl_init(); 
curl_setopt($curl_handle, CURLOPT_URL, 'http://www.italiakalmar.se/ui/Article/show.aspx?id=185&m=165'); 
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true); 
$content = curl_exec($curl_handle); 
curl_close($curl_handle); 

$pos = stripos($content, "<body"); 
$content = substr($content, $pos); 

$content = strip_tags($content); 

$content = html_entity_decode($content, ENT_COMPAT, 'UTF-8'); 

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

$content = mb_strtolower($content, 'utf-8'); 

echo $content = str_replace("–", "-", $content); 

然后我得到这个字符串: //fabrikenrestaurangenpizzerianintromenykvalitetallergihittatillosspizzeriaitaliapizzeriaitaliaöppnadedörrarnaförstagÃ¥ngenredan1977,ochdrivssedandessisammamiljöochsammakaraktäristiskastil.viharalltidutsöktapizzoraverkäntgodsmakochkvalitet .komintillpizzeriaitaliaochlÃtossserveradigenutsöktpizza.elleromdetpassarbättre-lÃtosslevereradenhemtilldig!nukanmanävenbetalamedkortvidutkörning!â佩蒂德:mÃ¥n-torskl:15-21fredag​​Âkl:15-22l¶rdagÂkl:12-22sândag kl:12-21ing¥rikalmarkrogar.se

正如你所看到的,空白仍然存在。

+0

必须工作,因为它在这里工作。 http://stackoverflow.com/questions/2109325/how-to-strip-all-spaces-out-of-a-string-in-php –

+1

更具体... –

+0

/(\ s)*/? – Jamie

回答

1
$content = str_replace(' ', '', $content); 

没有正则表达式的方法。

+0

它不适用于制表符和换行符空格。 – flowfree

+0

我知道。但是“/ \ s + /”或任何其他正则表达式对于U + 2001,U + 2028,U + 2004,U + 2005,U + 2006,U + 2007,U + 200A都不起作用。 – miqbal

+1

为什么不用你想要替换的所有东西创建一个数组?只要做str_replace(数组(<所有的东西>),'',$内容) – AntonioCS

-1
$content = preg_replace('/\s+/', '', $content); 

搜索只有一第一场比赛

您可以通过匹配给定的字符串$内容的所有空格这

$content = preg_replace('/\s+/g', '', $content); 

你需要把“G”在全局搜索正则表达式

您可以使用此免费在线工具测试甚至创建正则表达式

http://www.gskinner.com/RegExr/

+0

我只是在使用$ content = preg_replace('/ \ s +/g','',$ content)时得到bool(false); –

+0

g修饰符没有在phps preg中实现:http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php,preg_replace有两个参数用于控制替换的数量 – Simon