おそらく質問者さんが使われているのは Google Code Archiveのものと思いますが、最終更新が2009年と古いため、packagistに載せられているものを元に検証してみました( 2019-08-08 19:13 UTC)。
ですのであくまで参考までとしてください。
分かったこと。
idやclassにハイフンあったら取れませんでした。
アンダースコアは取れます。
HTML5上は空白文字を除く全ての文字が利用できる
(出典)ので、これはphpQueryの仕様なんじゃないかなと(未調査)
で、一応下記のようなコードで、id名をハイフンからアンダースコアに変更したらタグの情報を取得しました。
html
1<script id="js_live_data" data-json="ここにjsonデータが入ってます"></script>
php
1require_once "vendor/autoload.php";
2use PhpQuery\PhpQuery;
3$html = file_get_contents('test.html');
4$pq=new PhpQuery;
5$pq->load_str($html);
6
7var_dump($pq->query('#js_live_data')[0]);
出力結果は下記
object(DOMElement)#5 (18) {
["tagName"]=>
string(6) "script"
["schemaTypeInfo"]=>
NULL
["nodeName"]=>
string(6) "script"
["nodeValue"]=>
string(0) ""
["nodeType"]=>
int(1)
["parentNode"]=>
string(22) "(object value omitted)"
["childNodes"]=>
string(22) "(object value omitted)"
["firstChild"]=>
NULL
["lastChild"]=>
NULL
["previousSibling"]=>
string(22) "(object value omitted)"
["nextSibling"]=>
string(22) "(object value omitted)"
["attributes"]=>
string(22) "(object value omitted)"
["ownerDocument"]=>
string(22) "(object value omitted)"
["namespaceURI"]=>
NULL
["prefix"]=>
string(0) ""
["localName"]=>
string(6) "script"
["baseURI"]=>
NULL
["textContent"]=>
string(0) ""
}
attributes
が属性なので
php
1var_dump($pq->query('#js_live_data')[0]->attributes);
object(DOMNamedNodeMap)#6 (1) {
["length"]=>
int(2)
}
で
php
1var_dump($pq->query('#js_live_data')[0]->attributes[1]);
object(DOMAttr)#7 (21) {
["name"]=>
string(9) "data-json"
["specified"]=>
bool(true)
["value"]=>
string(76) "ããã«jsonãã¼ã¿ãå
¥ã£ã¦ã¾ã"
["ownerElement"]=>
string(22) "(object value omitted)"
["schemaTypeInfo"]=>
NULL
["nodeName"]=>
string(9) "data-json"
["nodeValue"]=>
string(76) "ããã«jsonãã¼ã¿ãå
¥ã£ã¦ã¾ã"
["nodeType"]=>
int(2)
["parentNode"]=>
string(22) "(object value omitted)"
["childNodes"]=>
string(22) "(object value omitted)"
["firstChild"]=>
string(22) "(object value omitted)"
["lastChild"]=>
string(22) "(object value omitted)"
["previousSibling"]=>
string(22) "(object value omitted)"
["nextSibling"]=>
NULL
["attributes"]=>
NULL
["ownerDocument"]=>
string(22) "(object value omitted)"
["namespaceURI"]=>
NULL
["prefix"]=>
string(0) ""
["localName"]=>
string(9) "data-json"
["baseURI"]=>
NULL
["textContent"]=>
string(76) "ããã«jsonãã¼ã¿ãå
¥ã£ã¦ã¾ã"
}
で
php
1var_dump($pq->query('#js_live_data')[0]->attributes[1]->textContent);
string(76) "ããã«jsonãã¼ã¿ãå
¥ã£ã¦ã¾ã"
正しくたどれば「おそらく」取得できるんじゃないかなとは思います。