Я пробовал много функций, но мне не удалось получить точное значение. Вот мой динамический текст. Я хочу получить / извлечь только значение 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>
Или xpath. Но если вы получаете данные из «базы данных», почему вы пытаетесь получить их из текстового документа?
@Loek Можно ли извлечь то, что я хочу?
Пожалуйста, будьте яснее. Вы можете делать буквально все в коде, кроме создания машины времени. Некоторые вещи занимают одну строку и минуту, некоторые - 10 гигабайт и двадцать лет, но запрограммировать можно буквально все, что угодно.
@Loek, выше - строка, которую я получаю из базы данных динамически. Мне нужно извлечь или потребовать только значение Sizes: 36,38,40 из него. Я не хочу лишних вещей на нем.






Если вы хотите получить данные напрямую, это будет сложно, лучше преобразовать их в массив, а затем выполнить цикл по массиву, чтобы получить искомое значение.
<?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
)
*/
?>
Я не структурировал то, что вы приводите в своем примере. Пожалуйста, ответьте на мой вопрос.
@jaydipsatvara, вы хотите достичь только через DOM
То, чего вы хотите достичь, невозможно сделать на чистом php, но в javascript это возможно, поскольку js - это язык, который в значительной степени ориентирован на работу с DOM. Вот пример потока, который просит что-то похожее на ваше:
Хорошо, без проблем, дайте мне также решение для javascript.
Это решение невозможно. Потому что в моей базе уже есть этот текст. Есть простая структура li и span. Я знаю, есть ли идентификатор или уникальный, тогда его легко получить, но это не так просто, как вы думаете.
Возможный дубликат Как вы разбираете и обрабатываете HTML / XML в PHP?