обрабатывать значения в php с помощью функции разнесения

#php #arrays #explode

#php #массивы #разнесите

Вопрос:

У меня есть строка — текст html

Я хочу разделить строку на <‘br> и <‘p> в одной строке.

Заранее спасибо за помощь.

пример

 $text="hello <'p> this is the text <'br> split this text";

return

ar[0]=hello;

ar[1]=this is the text;

ar[2]=split this text;
 

Комментарии:

1. Можете ли вы предоставить пример строки?

2. скорее всего, вам нужен preg_split, так как у вас есть 2 разделителя

3. почему в этих тегах есть кавычки?

4. Как насчет закрывающих тегов?? У вас есть какие-нибудь? Я думаю, что preg_split или регулярное выражение было бы лучше для этого.

5. там есть кавычки, потому что по какой-то причине <p> не отображается должным образом в качестве предварительного просмотра — извините за новичка: (

Ответ №1:

РЕДАКТИРОВАТЬ — с использованием preg_split

 $str = "text1<p>text2<br/>text3";
$str = preg_split('/(<s*ps*/?>)|(<s*brs*/?>)/', $str);
print_r($str);
//*note wont work with you <'p> <'br> tags, but only real "< p>< /p>< br/>" tags
 

Или с вашими кавычками в тегах (не знаю, почему они там, но в любом случае)

  $str = "text1<'p>text2<'br>text3";
 $str = str_replace("<'p>","<'br>",$str);
 $values = explode("<'br>",$str);
 print_r($values);
 

Ответ №2:

Чего-то подобного должно быть достаточно:

 $text="hello <'p> this is the text <'br> split this text";
$string = str_replace(array("<'p> ", "<'br> "), '___', $text);

$ex = explode('___', $string);
 

Возвращая:

 Array
(
    [0] => hello 
    [1] => this is the text 
    [2] => split this text
)
 

Example

Комментарии:

1. я знаю, что это был принятый ответ, но он действительно не самый лучший.

Ответ №3:

поскольку другие 2 ответа ужасны, я предлагаю:

 $text="hello <'p> this is the text <'br> split this text";
$e=preg_split("#<'p>|<'br>#",$text);
print_r($e);
 

Ответ №4:

Может быть, вы можете…

 $text = "hello <'p> this is the text <'br> split this text";
$text = str_replace("<'p>", "<'br>", $text);
$text = explode("<'br>", $text);
 

Теперь вы получаете то, что хотите.