Вытащить часть html из страницы

SimpleTak

Новичок
Вытащить часть html из страницы

Есть html-код:
PHP:
...
<teble ...>
	...
	...

	<teble ...>
		<teble [B]id="xxx"[/B] ...>
			...
			...
		</table ...>
	</table ...>
	...
</table ...>
...
Как (с помощью чего) можно вытащить из такого кода содержимое таблицы с id = "ххх" ?

Проблема в том, что необходимая таблица может находиться в любом месте кода, и внутри неё может тоже находится множество таблиц.
 

SimpleTak

Новичок
Как задать конец таблицы в регулярном выражении?
PHP:
... 
<teble ...> 
    ... 
    ... 

    <teble ...> 
        <teble id="xxx" ...> 
            ... 
		<teble ...>
			<teble ...>
				<teble ...>
					...
				</table>
				...
				<teble ...>
					...
				</table>
			</table>
		</table>
            ... 
        </table ...> 
    </table ...> 
    ... 
</table ...> 
...
Как в таком примере получить содержимое таблицы id="xxx"?
 

Solid

Drosera anglica
Конец таблицы? А поразмыслить вообще никак?
preg_match("|<table id=\"".$id."\">(.*)</table>|U", $data, $out);
print_r($out);
 

SimpleTak

Новичок
проблема постройки регулярного выражения в том, что НЕИЗВЕСТНО, ГДЕ РАСПОЛОГАЕТСЯ ТАБЛИЦА И ЧТО НАХОДИТСЯ В НЕЙ!
и приведённый выше пример выдаст содержимое между <table id="xxx"> и последним во всём коде закрывающим тегом </table>, который СОВЕРШЕННО НЕ ОБЯЗАТЕЛЬНО будет закрывабщим для необходимой нам таблицы.

Есть какие-нибудь варианты решения?

-~{}~ 23.05.06 02:03:

Совсем нет никакого решения?
или можно всё-таки придумать регулярное выражение, которое всё это делает?
 

Solid

Drosera anglica
Хм... решение есть в любом случае. Главное немного подумать - и оно прийдёт. ;)
Считай количество открывающих тегов table и закрывающих.
 

bleed

Новичок
копай в сторону xml парсера...
в данном случае id="xxx" является атрибутом
короче пиши парсер xml
 
Сверху