2012-11-14 33 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

雞蛋,看起來很簡單!謝謝您的幫助 :) –

相關問題