Как игнорировать тег span dom html - PullRequest
0 голосов
/ 01 мая 2019

Привет, я пытаюсь очистить Brand New Apple iPhone 8 64GB or 256GB - Sealed - GSM Unlocked в этом коде, но он также обрабатывает диапазон, как мне игнорировать текст диапазона.

<h1 class="it-ttl" itemprop="name" id="itemTitle"><span class="g-hdn">Details about  &nbsp;</span>Brand New Apple iPhone 8 64GB or 256GB - Sealed - GSM Unlocked</h1>

Это код:

$productname = $html->find("h1[class='it-ttl']",0)->plaintext;

echo $productname;

1 Ответ

0 голосов
/ 01 мая 2019

strip_tags_content - это функция, которая написана на PHP Strip Tags , и владелец функции объясняется этими словами. Вы можете найти больше примеров внутри ссылки.

Вывод: совершенно новый Apple iPhone 8 64 ГБ или 256 ГБ - герметичный - GSM разблокирован

«Привет. Я сделал функцию, которая удаляет теги HTML вместе с их содержимым»

 function strip_tags_content($text, $tags = '', $invert = FALSE) {

        preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);
        $tags = array_unique($tags[1]);

        if(is_array($tags) AND count($tags) > 0) {
            if($invert == FALSE) {
                return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?</\1>@si', '', $text);
            }
            else {
                return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?</\1>@si', '', $text);
            }
        }
        elseif($invert == FALSE) {
            return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);
        }
        return $text;
    }


    $string = '<h1 class="it-ttl" itemprop="name" id="itemTitle"><span class="g-hdn">Details about  &nbsp;</span>Brand New Apple iPhone 8 64GB or 256GB - Sealed - GSM Unlocked</h1>';
    $string = strip_tags_content($string,'<span>',true);
    $string = strip_tags($string);

    echo $string;

Для вашей проблемы после определения этой функции просто вызовите

$productname = $html->find("h1[class='it-ttl']",0)->plaintext; 
$productname = strip_tags_content($productname ,'<span>',true); 
$productname = strip_tags($string);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...