php - 如何从 curl 输出中按类名获取 div 的值
问题描述
我有一个 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);
?>
我得到输出(作为网页代码)。我只想得到一个值,但我不知道如何用 DOM/Xpath 解析它。
输出:
<!-- 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);