Есть строка с текстом:
<table>
<tbody>
<tr>
<td>Тип:</td>
<td>Дом из бруса</td>
</tr>
<tr>
<td>Общая площадь объекта</td>
<td>131,9 м2 м<sup>2</sup></td>
</tr>
<tr>
<td>Жилая площадь объекта</td>
<td>77 м2 м<sup>2</sup></td>
</tr>
<tr>
<td>Срок строительства 30 дней</td>
<td>(?)</td>
</tr>
<tr>
<td>Терраса</td>
<td>Да</td>
</tr>
</tbody>
</table>
Каким образом вырезать только первые 3 tr ?
То есть чтобы в конечном итоге осталось только:
<tr>
<td>Тип:</td>
<td>Дом из бруса</td>
</tr>
<tr>
<td>Общая площадь объекта</td>
<td>131,9 м2 м<sup>2</sup></td>
</tr>
<tr>
<td>Жилая площадь объекта</td>
<td>77 м2 м<sup>2</sup></td>
</tr>
Учитывая то что текст в блоках всегда разный.
Ну как вариант... Конечно не самый оптимальный:
$TEXT = '
<table>
<tbody>
<tr>
<td>Тип:</td>
<td>Дом из бруса</td>
</tr>
<tr>
<td>Общая площадь объекта</td>
<td>131,9 м2 м<sup>2</sup></td>
</tr>
<tr>
<td>Жилая площадь объекта</td>
<td>77 м2 м<sup>2</sup></td>
</tr>
<tr>
<td>Срок строительства 30 дней</td>
<td>(?)</td>
</tr>
<tr>
<td>Терраса</td>
<td>Да</td>
</tr>
</tbody>
</table>
';
preg_match_all("|(<tr>(.*)</tr>)|isU", $TEXT, $OUT, PREG_PATTERN_ORDER);
$OUT = array_slice($OUT[1], 0, 3);
$OUT = implode('', $OUT);
var_dump($OUT);
$arr=explode('</tr>',$str);
$str=$arr[0].'</tr>'.$arr[1].'</tr>'.$arr[2].'</tr>';
Сборка персонального компьютера от Artline: умный выбор для современных пользователей