$docNormal = new DOMDocument();
@$docNormal->loadHTMLFile('http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-detail.pl?biblionumber=40399');
$xpathNormal = new DOMXpath($docNormal);
echo $xpathNormal->query("//ul[@class='ui-tabs-nav']/li[1]/a/text()")[0]->nodeValue;
$i = 1;
while ($i > 0) {
$ISBN = $xpath->query("//span[@class='results_summary'][$i]")[0]->nodeValue;
if (strpos($ISBN, 'ISBN:') !== false) {
$ISBN = $xpath->query("//span[@class='results_summary'][$i]/text()")[0]->nodeValue;
$ISBN = preg_replace("/[^0-9]/", '', $ISBN);
echo $ISBN;
break;
}
$i++;
}
require 'simple_html_dom.php';
$html = str_get_html('<html lang="ru"><head><title>Тест</title></head><body><a href="http://sidorchik.ru/"></a></body></html>');
// Find all images
foreach($html->find('a') as $element)
echo $element->href . '<br>';
$dom->getElementsbyTag('a')[0]
и $dom->find('a', 0)
— всё равно ничего не выводится. if(empty($redirUrl)){
//ничего не редиректнулось
}
// Получаем название книги, заменяем все пробелы на знак плюса
$bookTitle = urlencode("Дизайн привычных вещей");
require "vendor/autoload.php";
use GuzzleHttp\Client;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\UriInterface;
// Инициализируем класс для работы с удаленными веб-ресурсами
$client = new Client();
// Определяем адрес после редиректа с помощью анонимной функции
$redirUrl = '';
$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) use (&$redirUrl) {
$redirUrl = $uri;
};
// Делаем запрос по исходному адресу, получаем ответ
$response = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q='.$bookTitle.'', [
'allow_redirects' => [
'strict' => true, // use "strict" RFC compliant redirects.
'referer' => true, // add a Referer header
'on_redirect' => $onRedirect,
'track_redirects' => true
]
]);
if(empty($redirUrl)){
echo 'Без редиректа. Книга не одна в каталоге';
}
// Получаем из адреса после редиректа значение параметра biblionumber
$query = [];
parse_str(parse_url($redirUrl, PHP_URL_QUERY), $query);
// Делаем запрос по адресу Марк-вью, получаем ответ
$responseMarc = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-MARCdetail.pl?biblionumber='.$query['biblionumber']);
// Выводим страницу Марк-вью
echo $responseMarc->getBody()->getContents();
$bookTitle = str_replace(" ", "+", "Дизай привычных вещей");
require 'vendor/autoload.php';
// Подключаем классы Client
use GuzzleHttp\Client;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\UriInterface;
// Инициализируем класс для работы с удаленными веб-ресурсами
$client = new Client();
// Функция для вывода адреса после редиректа
$onRedirect = function(RequestInterface $request, ResponseInterface $response, UriInterface $uri) {
// Получаем из ссылки значение параметра biblionumber
$query = [];
parse_str(parse_url($uri, PHP_URL_QUERY), $query);
// Выводим Марк-вью
$client1 = new Client();
$marcviewURI = "http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=" . $query['biblionumber'];
$response1 = $client1->request('GET', $marcviewURI);
echo $response1->getBody();
};
// Делаем запрос, получаем ответ
$response = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q='.$bookTitle.'', [
'allow_redirects' => [
'strict' => true, // use "strict" RFC compliant redirects.
'referer' => true, // add a Referer header
'on_redirect' => $onRedirect,
'track_redirects' => true
]
]);
$response = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q='.$bookTitle.'', [
'allow_redirects' => false
]);
$code = $response->getStatusCode();
if (($code >=300) && ($code <= 399)) {
$response1 = $client->request('GET', 'http://catalog.mgdb.ru:49001/cgi-bin/koha/opac-search.pl?idx=ti&q='.$bookTitle.'', [
'allow_redirects' => [
'strict' => true, // use "strict" RFC compliant redirects.
'referer' => true, // add a Referer header
'on_redirect' => $onRedirect,
'track_redirects' => true
]
]);
}
else {
echo 'Без редиректа. Книга не одна в каталоге';
}
С таким запросом выводится: Holdings ( 3 ). Мне нужно достать количество книг. Норм так делать?