2013-05-28 81 views
1

我有一個示例代碼:如何使用preg_replace刪除字符串?

$content = "Tuesday 28th May 2013 07:22<br/><br/>Hello world"; 

並使用代碼:

preg_replace("s/(<br[^>]*>\s*){2,}/", "", $content); 

,反而會導致錯誤的,如何去除這個字符串的結果是"Hello world";

+0

不清楚你想要刪除什麼...... – MMM

+0

刪除什麼條件?字符串是否總是「Hello world」? '
'後的所有內容?兩個'
'後?約會之後? –

+1

'$ content =「你好世界」;'這將刪除它爲雅:) –

回答

0

與任何編程語言一樣,有數百種方法可以完成所有工作。以下是如何使用preg_replace()做到這一點,因爲這是您的示例嘗試。不知道這個問題的最終目標......但這裏有幾個例子:

$content = "Tuesday 28th May 2013 07:22<br/><br/>Hello world"; 

返回 「Hello World」 的只有:

$hello = preg_replace('!^([^<]+)(<[^>]+>){2}!','',$content); 

返回時間部分只:

$time = preg_replace('!^([^<]+)(<[^>]+>){2}(.*)$!',"$1",$content); 

刪除標籤(strip_tags()通常對此更好,但在此情況下您沒有詞彙空間):

$clean_content = preg_replace('!^([^<]+)(<[^>]+>){2}(.*)$!',"$1 $3",$content); 

打印出來的語句:

echo $hello."<br>"; 
echo $time."<br>"; 
echo $clean_content."<br>"; 

輸出(我加入了<br>標籤的可讀性,在瀏覽器中):

世界,你好

週二5月28日2013 07:22

2013年5月28日星期二07:22 Hello world

相關問題