Путь для PHP 7 - с помощью «|»персонаж - PullRequest
0 голосов
/ 03 марта 2019
    $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') напрямую, проблема все равно возникнет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...