Имеем список:
<ul>
<li>Состав: медь, свинец</li>
<li>Длина: 1м</li>
<li>Вес: 5кг</li>
<li>Страна: Россия</li>
</ul>
Нужно из всего списка получить содержимое li в котором есть слово "состав". Как возможно решить данную задачу?
В php есть готовый набор классов для работы с html-документом - та самая объектная модель документа, DOM. Просто загрузите документ и сможете делать по нему xpath-запросы на поиск нужных нод:
<?php
$html = <<<HTML
<ul>
<li>foo: 123</li>
<li>bar: 456</li>
<li>baz: 789</li>
</ul>
HTML;
$doc = new DOMDocument;
$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$entries = $xpath->query("//ul//li[contains(text(), 'foo')]");
echo "found: '{$entries[0]->nodeValue}'";
Выводит:
found: 'foo: 123'
Про xpath можно почитать хотябы в вики, XPath.
Вот так, если вы получаете лишки из базы или прочего, и выводите их:
$data = [
'Состав' => 'медь, свинец',
'Длина' => '1м',
'Вес' => '5кг',
'Страна' => 'Россия',
];
echo "<ul>";
foreach ($data as $key => $value){
if ($key==="Состав") echo "<li><strong>{$key}: {$value}</strong></li>";
else echo "<li>{$key}: {$value}</li>";
}
echo "</ul>";
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Возникла проблема с работой формул в PHPExcelФормулы записываются в значения ячейки, но чтобы вывело результат работы формулы, нужно нажать...
Установил по гайду Laravel FileManager (с офф гитхаба), но при открытии /laravel-filemanager возвращается просто 1ничего больше, только цифра 1
Есть custom_post_type = "post_type" Есть шаблон вывода записи ="single-post_typephp"