2012-11-14 22 views
0

我有一个由其他人写的函数返回客户的地址。这个功能并不像你想象的那么简单。有一个很好的理由,它已被写入,以便返回变量经过:如何从字符串中删除重复序列 - php

eval("\$address_out = \"$fmt\";"); 

第一。尽管快速浏览了手册,但它对我来说是个谜。所以,问题是地址返回像这两个例子(注意,有3个重复<br/> S和其他4)

ginger rogers<br /> hollywood<br /> California<br /> <br /> <br /> United states 

ginger rogers<br /> hollywood<br /> <br /> <br /> <br /> United states 

我认为这将是更快地只是剥离重复<br/> s出,但我困惑,因为可以有不同数量的他们,他们是由空间分开。

任何任何想法?

编辑:我应该说,我想保留地址的每一位之间的
之一,它那里有multipul
我想摆脱一切,但一个

+1

使用['用strip_tags()'](http://php.net/manual/en/function.strip-tags.php) – Carlos

+6

有几乎没有一个'eval'的好理由。我也不确定与问题的第二部分有什么关系。 – deceze

+0

@jackflash - 我忘了说,我想在地址的每个部分之间保留一个
。只是删除多个拧我的布局 –

回答

1

$addr = str_replace(array('<br/>', '<br>', '<br />', "\r", "\n"), '', $addr);将删除<br/>休息,加上新的行和回车符。

要保持一个<br/>还是:

while (strpos($addr, '<br /> <br />') !== false) { 
    // while two adjoining <br />'s still exist in the variable 
    // replace two with one <br /> break 
    $addr = str_replace('<br /> <br />', '<br />', $addr); 
} 
+0

是的,但我想保留一个
每次。我只是不想多次
s –

+0

哦,我明白了!编辑以适应。 –

+0

鸡蛋,看起来很简单!谢谢您的帮助 :) –

相关问题