Я получаю html с другого сайта с file_get_contens
, мой вопрос в том, как я могу получить определенное значение тега?
допустим, у меня есть:
<div id="global"><p class="paragraph">1800</p></div>
как я могу получить значение абзаца? благодаря
Если этот пример действительно тривиален, вы можете просто использовать регулярное выражение. Тем не менее, для общего разбора HTML, PHP поддерживает DOM:
$dom = new domDocument(); $dom->loadHTML("<div id=\"global\"><p class=\"paragraph\">1800</p></div>"); echo $dom->getElementsByTagName('p')->item(0)->nodeValue;
Вам нужно проанализировать HTML. Существует несколько способов сделать это, в том числе с использованием функций XML-анализа PHP.
Однако, если это простое значение (как вы сказали выше), я бы использовал следующий простой код:
// your content $contents='<div id="global"><p class="paragraph">1800</p></div>'; // define start and end position $start='<div id="global"><p class="paragraph">'; $end='</p></div>'; // find the stuff $contents=substr($contents,strpos($contents,$start)+strlen($start)); $contents=substr($contents,0,strpos($contents,$end)); // write output echo $contents;
Удачи!
Кристиан Шиберрас
(проверено и работает)
$input = '<div id="global"><p class="paragraph">1800</p></div>'; $output = strip_tags($input);
preg_match_all('#paragraph">(.*?)<#is', $input, $output); print_r($output);
Непроверенные.