Вообщем нашел я ему замену, регулярка которая парсит содержимое элемента по указному id или class-у.
Код - пример #1 | |
1 |
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'); |