Php preg_split для прямой косой черты?

У меня есть текст, который я хочу разобрать

$str = "text1<br/>text2<br/>text3

я пытался использовать

     print_r( preg_split("<br/>", $str));

но это не дает мне желаемого результата


person ericlee    schedule 21.07.2013    source источник


Ответы (2)


Попробуйте следующее:

$str = "text1<br/>text2<br/>text3";
print_r(preg_split("/<br\/>/", $str));

Я предполагаю, что отсутствие закрывающей кавычки " в конце $str = "text1<br/>text2<br/>text3" — это просто опечатка.

Взгляните на эту страницу о том, как указать параметр string $pattern: http://php.net/manual/en/function.preg-split.php

person vee    schedule 21.07.2013

Это потому, что вы не используете правильное регулярное выражение. Есть ли причина, по которой вы не можете использовать explode()? Регулярное выражение проблематично, иногда слишком сложно и намного медленнее. Если вы знаете, что всегда будете разделяться по тегу BR, взорваться гораздо эффективнее.

Разбор HTML с помощью регулярных выражений — это плохая идея, но вот:

var_dump(preg_split('/(<br\ ?\/?>)+/', $str));
person Curtis Mattoon    schedule 21.07.2013
comment
Вам не нужно избегать пробелов. - person Casimir et Hippolyte; 21.07.2013