Задать вопрос
  • Как спарсить данные с определенны значением?

    @bigrusssianshark Автор вопроса
    DevMan, функция используется, чтобы со всей полученной через file_get_contents страницы вырезать только то, что не нужно :(
  • Как спарсить данные с определенны значением?

    @bigrusssianshark Автор вопроса
    Код вот:
    <?php
    error_reporting(E_ALL);
    ini_set('display_startup_errors', 1);
    ini_set('display_errors', '1');
    
    function Parse($p1, $p2, $p3) {
        $num1 = strpos($p1, $p2);
        if ($num1 === false) return 0;
        $num2 = substr($p1, $num1);
        return substr($num2, 0, strpos($num2, $p3));
    }
    
    $String = file_get_contents('https://pkgh.edu.ru/obuchenie/shedule-of-classes.html');
    $webnah = Parse($String, '<div class="custom otherpadding changes" 
    	 >', '</div>');
    	 
    $html = $webnah;
    
    $dom = new DOMDocument;
    $dom->loadXML($html);
     
    $content = '';
    $xpath = new DOMXPath($dom);
    foreach ($xpath->query('//td[.="КП-19-25"]/..') as $row) {
    	$content .= $dom->saveXML($row) . PHP_EOL;
    }
    echo $content;
     ?>


    То есть сначала я копирую нужный кусок с сайта (такой как указан в вопросе), а потом уже в этом куске ищу нужные позиции.
    loadXML есть в том коде, что предоставили Вы
  • Как спарсить данные с определенны значением?

    @bigrusssianshark Автор вопроса
    Спасибо за ответ! Работает, но теперь назрел новый вопрос....
    С помощью этого кода я вырезаю нужный кусок кода с нужного мне сайта
    function Parse($p1, $p2, $p3) {
        $num1 = strpos($p1, $p2);
        if ($num1 === false) return 0;
        $num2 = substr($p1, $num1);
        return substr($num2, 0, strpos($num2, $p3));
    }
    
    $String = file_get_contents('ТУТ МОЙ ЮРЛ)))');
    $webnah = Parse($String, '<div class="custom otherpadding changes" 
    	 >', '</div>');


    Как мне полученные данные закинуть в переменную $html?
    если использовать $html = $webnah; (вообще сразу задавал $html значение $Parce)
    То получаю вот это:
    Warning: DOMDocument::loadXML(): Premature end of data in tag div line 3 in Entity, line: 296 in /storage/ssd5/936/11359936/public_html/twopage.php on line 21
    
    Warning: DOMDocument::loadXML(): Premature end of data in tag li line 3 in Entity, line: 296 in /storage/ssd5/936/11359936/public_html/twopage.php on line 21
    
    Warning: DOMDocument::loadXML(): Premature end of data in tag ul line 3 in Entity, line: 296 in /storage/ssd5/936/11359936/public_html/twopage.php on line 21
    
    Warning: DOMDocument::loadXML(): Premature end of data in tag div line 1 in Entity, line: 296 in /storage/ssd5/936/11359936/public_html/twopage.php on line 21


    Гугл говорит, что это потому что пытаюсь HTML загрузить как XML.

    Простите за незнание, надеюсь поможете(
  • Как спарсить данные с определенны значением?

    @bigrusssianshark Автор вопроса
    Можно, пожалуйста, подробнее?