$doc = new DOMDocument();
$doc->loadHTML($source);
$xpath = new DOMXpath($doc);
//$rowxpath = $post->xpath;
$rowxpath = '//*[@class="s-lg-az-result s-lg-az-result-new"]';
$elementsn = $xpath->query($rowxpath);
В приведенном выше примере $ elementsn-> length не равно 0. Но когда
$rowxpath = '//*[@class="s-lg-az-result"] | //*[@class="s-lg-az-result s-lg-az-result-new"]';
, это всегда 0. Путь не работает, когда |используется символ.
Как и как я могу решить эту проблему?
ПРИМЕЧАНИЕ: для того, что я использовал для $ source, см. https://can -la.com / samplesforstackexc/test3.html.
Также обратите внимание: если вы собираетесь перейти к file_get_contents ('https://can -la.com / samplesforstackexc / test3.html ');это может привести к некоторым ошибкам, связанным с SSL:
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /Users/user/HoldingForDO/libTOdatabases/index.php on line 48
Warning: file_get_contents(): Failed to enable crypto in /Users/user/HoldingForDO/libTOdatabases/index.php on line 48
Warning: file_get_contents(https://can-la.com/samplesforstackexc/test3.html): failed to open stream: operation failed in /Users/user/HoldingForDO/libTOdatabases/index.php on line 48
Однако это не проблема, так как я загружаю этот файл только на can-la.com, чтобы служить примером для этого вопроса.Даже если вы загрузите файл и файл file_get_contents ('test3.html') напрямую, проблема все равно возникнет.