我是PHP的新手,我想知道如何从HTML元素(例如src
)中检索数据吗?
在jQuery中很容易做到这一点:
$('img').attr('src');
但是我不知道如何在PHP中做到这一点(如果可能的话)。
这是我正在研究的示例:
我将$result
加载到SimpleXMLElement中并将其存储到$xml
中:
$xml = simplexml_load_string($result) or die("Error: Cannot create object");
然后使用foreach
遍历所有元素:
foreach($xml->links->link as $link){
echo 'Image: ' . $link->{'link-code-html'}[0] . '</br>';
// returns sometihing similar to: <a href='....'><img src='....'></a>
}
我正在foreach
内访问src
中的链接(img
)。
是否可以访问嵌套在src
内部的img
中的a
中的 echo 'Image: ' . $link->{'link-code-html'}[0] . '</br>';
—在输出到屏幕时清除:
<ul id="draggablePanelList" class="list-group">
<% var popupIndex = 0;
foreach (var item in OldGameSettings.PromotionalDataList)
{
popupIndex++;
%>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval(item.PromotionId)%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id="<%=item.PromotionId %>"></i>
</span>
</li>
<% } %>
</ul>
答案 0 :(得分:1)
我将使用内置的DOMDocument
和DOMXPath
API进行此操作,然后可以在任何匹配的img
节点上使用getAttribute
方法:
$doc = new DOMDocument();
// Load some example HTML. If you need to load from file, use ->loadHTMLFile
$doc->loadHTML("<a href='abc.com'><img src='ping1.png'></a>
<a href='def.com'><img src='ping2.png'></a>
<a href='ghi.com'>something else</a>");
$xpath = new DOMXpath($doc);
// Collect the images that are children of anchor elements
$imgs = $xpath->query("//a/img");
foreach($imgs as $img) {
echo "Image: " . $img->getAttribute("src") . "\n";
}