Извлечь текстовое значение li в строку

Я пробовал много функций, но мне не удалось получить точное значение. Вот мой динамический текст. Я хочу получить / извлечь только значение Sizes (36,38,40, ...). Как мне извлечь из этого текста значение? Это полный контент, который у меня есть динамически из базы данных.

<ul>
<li>
<span>Colors: </span>Off White, Turquoise</li>
<li><span>Type: </span>Stitched</li>
<li><span>Sizes: </span>36, 38, 40</li>
</ul>

Возможный дубликат Как вы разбираете и обрабатываете HTML / XML в PHP?

Stephan Vierkant 09.07.2018 11:47

Или xpath. Но если вы получаете данные из «базы данных», почему вы пытаетесь получить их из текстового документа?

Loek 09.07.2018 11:47

@Loek Можно ли извлечь то, что я хочу?

Jaydip Satvara 09.07.2018 11:49

Пожалуйста, будьте яснее. Вы можете делать буквально все в коде, кроме создания машины времени. Некоторые вещи занимают одну строку и минуту, некоторые - 10 гигабайт и двадцать лет, но запрограммировать можно буквально все, что угодно.

Loek 09.07.2018 11:51

@Loek, выше - строка, которую я получаю из базы данных динамически. Мне нужно извлечь или потребовать только значение Sizes: 36,38,40 из него. Я не хочу лишних вещей на нем.

Jaydip Satvara 09.07.2018 11:54
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
5
382
2

Ответы 2

Если вы хотите получить данные напрямую, это будет сложно, лучше преобразовать их в массив, а затем выполнить цикл по массиву, чтобы получить искомое значение.

<?php 
$html = '<li> <a href = "link1"> 36 </a> <li>
<li> <a href = "link2"> 38 </a> <li>
<li> <a href = "link3"> 40 </a> <li>
';

// Create a new DOM Document
$xml = new DOMDocument();

// Load the html contents into the DOM
$xml->loadHTML($html);

// Empty array to hold all links to return
$result = array();

//Loop through each <li> tag in the dom
foreach($xml->getElementsByTagName('li') as $li) {
    //Loop through each <a> tag within the li, then extract the node value
    foreach($li->getElementsByTagName('a') as $links){
    //if result equal expected number then do the logic
    }
}
//Return the links
print_r($result);
/*
Array
(
    [0] =>  36 
    [1] =>  38 
    [2] =>  40 
)

*/
?>

Я не структурировал то, что вы приводите в своем примере. Пожалуйста, ответьте на мой вопрос.

Jaydip Satvara 09.07.2018 12:10

@jaydipsatvara, вы хотите достичь только через DOM

FreedomPride 12.07.2018 04:02

То, чего вы хотите достичь, невозможно сделать на чистом php, но в javascript это возможно, поскольку js - это язык, который в значительной степени ориентирован на работу с DOM. Вот пример потока, который просит что-то похожее на ваше:

Получить текст элемента li

Хорошо, без проблем, дайте мне также решение для javascript.

Jaydip Satvara 09.07.2018 12:08

Это решение невозможно. Потому что в моей базе уже есть этот текст. Есть простая структура li и span. Я знаю, есть ли идентификатор или уникальный, тогда его легко получить, но это не так просто, как вы думаете.

Jaydip Satvara 09.07.2018 12:12

Другие вопросы по теме