2012-04-18 84 views
0
item1<br>item2<br>item3<br>item4<br>item5 

之間的文本我如何獲得每個<br><br>之間的文本?我嘗試了preg_match_all和下面的正則表達式,但沒有顯示所有結果。 `<br>(.*)<br>`UsiPHP - 獲取<br>和<br>

在此先感謝!

+5

你的數據真的很正常嗎?如果是這樣,只需'爆炸()'在'
'上。 – Brad 2012-04-18 20:56:37

+0


爆炸怎麼樣? [編輯:詛咒你,布拉德! *握拳*] – SenorAmor 2012-04-18 20:57:01

+0

應該是'
'。 – Jack 2012-04-18 20:58:51

回答

5

假設輸入數據是接近你所說的,這會給你陣列中的所有部分:

$pieces = explode('<br>', $input); 
+2

那麼容易?謝謝!我花了1小時試圖解決這個問題。 – Cosmi 2012-04-18 21:02:11

0

爆炸這裏是一個正則表達式的解決方案。 preg_match_all('/.*?(?=<br>)/', $string)

0

如果您的數據遵循該模式,請使用爆炸功能(documentation)。

的代碼應該是這樣的:

$html = "item1<br>item2<br>item3<br>item4<br>item4"; 
$pieces = explode("<br>", $html); 
print_r($pieces); 

,將返回

Array 
(
    [0] => item1 
    [1] => item2 
    [2] => item3 
    [3] => item4 
    [4] => item5 
) 

此外,還有一個新的參數,你可以通過限制....

$html = "item1<br>item2<br>item3<br>item4<br>item4"; 
$pieces = explode("<br>", $html, 2); 
print_r($pieces); 

那會返回

Array 
(
    [0] => item1 
    [1] => item2 item3 item4 item5 
)