Вообщем нашел я ему замену, регулярка которая парсит содержимое элемента по указному id или class-у.
class ParsDom {
public $sContent = '';
public function getElement($sId = '', $sElem = 'div') {
if (!$sId || !$this->sContent) return '';
$aOut[0] = array();
$sReg = "
/
<{$sElem}[^>]+\b(?:class|id)=[\"\']?{$sId}[\"\']?[^>]*>
(?:
(<{$sElem}[^>]*>*?<\/{$sElem}>)|
.
)*?
<\/{$sElem}>
/xsS";
preg_match_all($sReg, $this->sContent, $aOut);
if (isset($aOut[0]))
return $aOut[0];
else
return '';
}
}
// Пример
$oParsDom = new ParsDom;
// Контент от куда будем парсить
$oParsDom->sContent = $sData;
// Парсим все DIV элементы с указаным id или классом
$aDiv = $oParsDom->getElement('class_or_id_name');
// Парсим все LI элементы с указаным id или классом
$aLi = $oParsDom->getElement('menu', 'li');
[/php]