2013-05-06 2 views
1

Я хочу, чтобы разделить текст с помощью PHP preg_split строками, как:PHP preg_split как разделить на час

<hr style="text-align: justify;"> or 
<hr> or 
<hr style="other style here"> 

, например текст, как: "text 1<hr>text 2<hr style="other style here">text 3 должен дать мне:

array 
[0] text 1 
[1] text 2 
[2] text 3 

пытается фигурируют в регулярных выражениях, но это слишком сложно для меня:/

ответ

2

Просто найдите <hr, а затем найдите, пока не увидите >:

$arr = preg_split('/<hr[^>]*>/', $str); 

Demo

Обычно я хотел бы предложить использовать DOM парсер, но для этих изолированных случаев регулярных выражений делают работу так же хорошо.

+0

Я был близок ... делал что-то вроде: '/ /' но это не сработало. спасибо за помощь – abiku

+0

Или, если вы хотите ограничить совпадение только тегами hr без атрибутов и атрибутами стиля, '$ arr = preg_split ('/


/', $ str); ' – eyecatchUp

+0

@eyecatchUp Я не уверен, как это было бы полезно в этом случае :) –