[英]How to get the value of div by classname from curl output
我有一个 php curl。 它工作正常。
<?PHP
//here i have the post parameters/login
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_COOKIEJAR, COOKIE_FILE);
curl_setopt($curl, CURLOPT_USERAGENT, USER_AGENT);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
echo curl_exec($curl);
curl_close($curl);
?>
我得到 output (作为网页代码)。 我只想得到一个值,但我不知道如何用 DOM/Xpath 解析它。
output:
<;-- Inner Container Start --> <div class="container"> <;-- Panels Start --> <div class="mws-form-message success" id="\".updated\":"> Server started. </div><script id="facebook-jssdk" src="https.//connect:facebook.net/en_US/sdk.js"></script><script src="https.//code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $('#updated').hide().fadeIn(800).delay(6000).fadeOut(800) </script><link rel="stylesheet" type="text/css" href="modules/teamspeak3/viewer/tsstatus.css"> <div class="mws-panel grid_8"> <div class="mws-panel-header"> <span><i class="icon-graph"></i>server stat</span> </div> <div class="mws-panel-body"> <script type="text/javascript" src="js/ajax.jquery.js"></script> <script type="text/javascript" src="js/ajax.main.js"></script> <script type="text/javascript" src="js/ajax.xmlhttp.js"></script> <div class="mws-stat-container clearfix">
我只需要字符串的值:“服务器启动”:
<div class="mws-form-message success" id="\"updated\"">
我怎么才能得到它?
或者如果你想使用 XPath 来获取值:
$doc = new DOMDocument;
$doc->loadHTML($your_input_string);
$xpath = new DOMXPath($doc);
$result = $xpath->query("//div[contains(@class,'mws-form-message')]");
echo trim($result[0]->nodeValue);
我尝试了这个片段,它按预期工作
$doc = new DomDocument();
$doc->validateOnParse = true;
$doc->loadHTML('<html><body id="me">Test<br></body></html>');
var_dump($doc->getElementById('me')->nodeValue); // test
您可以根据自己的需要进行调整,还可以查看 php 文档https://www.php.net/manual/en/domdocument.loadhtml.php也会让您了解更多解决方案,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.