Я, пожалуй, единственный человек, у которого была какая-то проблема, но я все равно отказался. Я хотел попытаться сделать мой скрипт асинхронным только для удовольствия. Тогда я забыл об этом, и когда я вышел в прямом эфире, файл [custom] .js загрузился только 50% времени перед jQuery.js.
Итак, я изменил
<script async src="js/script.js"></script>
to
<script src="js/script.js"></script>
:)
XPath является стандартом для запросов к структурам XML.
Однако обратите внимание, что если вы хотите проанализировать HTML из ненадежного источника, это источник, где HTML не совсем хорошо сформирован, вы должны предпочесть DOMDocument::loadHTML()
на Варианты SimpleXML , в частности simplexml_load_string
.
Для примера
<?php
$html = '
<div id="btn-loc" class="hidden" attrLoc="1">
...
</div>';
$doc = DOMDocument::loadHTML($html);
$xpath = new DOMXPath($doc);
$query = "//div[@id='btn-loc']";
$entries = $xpath->query($query);
foreach ($entries as $entry) {
echo "Found: " . $entry->getAttribute("attrloc");
}
Надеюсь, что это поможет!
Использование jQuery в JavaScript
var state = $('#btn-loc').attr('attrLoc');
Затем вы можете отправить значение в PHP
EDIT:
Если вы работаете с HTML-страницей / DOM в PHP вы можете использовать SimpleXML для перемещения DOM и потянуть ваши атрибуты таким образом
$xml = simplexml_load_string(
'<div id="btn-loc" class="hidden" attrLoc="1">
...
</div>'
);
foreach (current($xml->xpath('/*/div'))->attributes() as $k => $v)
{
var_dump($k,' : ',$v,'<br />');
}
Вы увидите имя и значение атрибутов, сброшенных
id : btn-loc
class : hidden
attrLoc : 1
Вы также можете использовать Document Object Model
<?php
$str = '<div id="btn-loc" class="hidden" attrLoc="1">
text
</div>';
$doc = new DOMDocument();
$d=$doc->loadHtml($str);
$a = $doc->getElementById('btn-loc');
var_dump($a->getAttribute('attrloc'));
, чтобы сделать это с помощью php, используя простой анализатор html dom. имеет немного кривой обучения, но вид полезного
Как насчет этого
$str = '<div id="btn-loc" class="hidden" attrLoc="1">';
$pattern = '/<div id="btn-loc".*\sattrLoc="([0-9])">/';
preg_match($pattern, $str, $matches);
var_dump($matches);
Выходы
array
0 => string '<div id="btn-loc" class="hidden" attrLoc="1">' (length=45)
1 => string '1' (length=1)