在正则表达式将不会被删除

时间:2013-12-11 15:56:04

标签: php regex

这让我疯了。我尝试了一切。我有两个字符串。

第一个Allee 4 第二个 4

这些是我试过的regexxes

$a = preg_replace ( "#\&nbsp\;#u", " ", $address[1]);
$a = preg_replace ( "#\&nbsp\;#", " ", $address[1]);
$a = preg_replace ( "# #u", " ", $address[1]);
$a = preg_replace ( "# #", " ", $address[1]);

他们都没有奏效。该字符串始终保持 4。我错过了什么吗?

当然我已经将替换保存到变量......

3 个答案:

答案 0 :(得分:1)

给这个人一个机会:

$address[1] = html_entity_decode($address[1]);
$address[1] = preg_replace("/\s/",'',$address[1]);
echo $address[1];

如果有效,请执行此操作以重新编码:

html_entities($address[1]);

答案 1 :(得分:0)

preg_replace无法正常运行。它返回结果,所以你必须这样做:

$address[1] = preg_replace ( "#\&nbsp\;#u", " ", $address[1]);
$address[1] = preg_replace ( "#\&nbsp\;#", " ", $address[1]);
$address[1] = preg_replace ( "# #u", " ", $address[1]);
$address[1] = preg_replace ( "# #", " ", $address[1]);

答案 2 :(得分:0)

我相信你需要使用:

$address[$i] = preg_replace("/ /", "", $address[1]);

您需要使用//分隔正则表达式。不确定&;是否为转义字符,但我认为不是在这种情况下。