массивы — php разбитая строка на & lt; tr & gt;

У меня есть некоторые табличные данные, которые извлекаются из базы данных. Подобно,

<tr><td>key1</td><td>pair1</td></tr>
<tr><td>key2</td><td>pair2</td></tr>
<tr><td>key3</td><td>pair3</td></tr>
<tr><td>key4</td><td>pair4</td></tr>

Я хочу разделить их с <tr>(s), и хотите строки в массиве.
ех.

$arr = ("<td>key1</td><td>pair1</td>",
"<td>key2</td><td>pair2</td>",
"<td>key3</td><td>pair3</td>",
"<td>key4</td><td>pair4</td>");

Я слышал о explode(',', $myString);но он работает со строкой с запятой.

Заметка Пожалуйста, не предлагайте DOM Parser

0

Решение

$out = array_filter(explode('</tr>', str_replace('<tr>','',$input)));
4

Другие решения

пытаться:

explode('<tr>', $myString);

Вы можете взорвать каждую строку с любым рисунком.

http://php.net/manual/en/function.explode.php

Но если вы расстались с

<tr>

у тебя еще есть

</tr>

в вашем массиве как строка. Вы также можете удалить их, удалив последние 5 символов в каждой строке массива.

0

Вы можете попробовать это.

<?php

$arr ='<tr><td>key1</td><td>pair1</td></tr>
<tr><td>key2</td><td>pair2</td></tr>
<tr><td>key3</td><td>pair3</td></tr>
<tr><td>key4</td><td>pair4</td></tr>';
str_replace('<tr>','',$arr);
$rows = explode('</tr>',$arr);
print_r(array_filter($rows));// arry_filter is used to remove the last null node.
?>
0
По вопросам рекламы [email protected]