PHPHtmlParser getAttribute не работает для пользовательских атрибутов

У меня есть некоторые HTML с пользовательскими атрибутами и пытаюсь проанализировать его с помощью компонента PHPHtmlParser. Весь проект создан с помощью этого компонента. Вот пример проблемы.

use PHPHtmlParser\Dom;
class Parsemydiv {
function parseAttr()
{
$str='<div otop="20" oleft="20" name="info">
<img src="example.jpg">
</div>';
$dom = new Dom();
$dom->loadStr($str);
$otop = $dom->getAttribute("otop");
$name = $dom->getAttribute("name");
echo "Name: " . $name  . PHP_EOL;
echo "Top: " . $otop . PHP_EOL;
echo "Left: " . $oleft . PHP_EOL;

}
}

Выход:
Имя: информация
Верхний:
Оставил:

getAttribute не может получить пользовательские атрибуты.

1

Решение

Зачем использовать стороннюю библиотеку для анализа DOM, если в PHP есть встроенная поддержка для этого? Я предлагаю изучить нативные функции вместо:

$str='<div otop="20" oleft="15" name="info">
<img src="example.jpg">
</div>';
$doc = new DOMDocument();
$doc->loadHTML($str);
$div = $doc->getElementsByTagName('div')[0];
$otop = $div->getAttribute('otop');
$oleft = $div->getAttribute('oleft');

echo "otop=$otop, oleft=$oleft"; //otop=20, oleft=15
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]