Помогите на php организовать вырезку из $text всё, что находится между <table> и </table> ?
>Помогите на php организовать вырезку из $text всё, что находится между <table> и </table> ?
Вот к самый простой вариант.
Небольшой пример:<?php
//на входе имеем переменную $text$text = '<table><tr><td>Это именно то что нам надо оставить?</td></tr></table>';
/*идем слева направо
strip_tags - вырезаем html-тэги;
trim - удаление лишних пробельных символов*/echo $text = trim(strip_tags($text));
?>
На выходе получаем:
Это именно то что нам надо оставить?
Вот и все!
>Это именно то что нам надо оставить?Не совсем. Имя к примеру:
$text='randomtext<h1>header</h1>randomtags<table><tr><td>random table</td><td>any_tags_inside</td></tr></table>randomtext_here';
после обработки должно появится "<table><tr><td>random table</td><td>any_tags_inside</td></tr></table>";Тоесть что мы достоверно знаем, это то что в $text только одна таблица. и эту таблицу надо вырезать.
preg_match('/<table>.*?</table>/', $text, $matches) and $output = $matches[0];
>preg_match('/<table>.*?</table>/', $text, $matches) and $output = $matches[0];
Наверное вот так?
preg_match('/<table>.*?<\/table>/', $text, $matches) and $output = $matches[0];Но собственно всё равно не помогает...
>>preg_match('/<table>.*?</table>/', $text, $matches) and $output = $matches[0];
>
>
>Наверное вот так?
>preg_match('/<table>.*?<\/table>/', $text, $matches) and $output = $matches[0];
>
>Но собственно всё равно не помогает...
Большое спасибо!