[英]Retrieved all information inside tags : DOMNODE
我有一個腳本,我無法控制 HTML,只能修改基本的 CSS。 我只是想知道是否可以在不區分內部元素的情況下將所有信息從 <script> 剪切到其關閉 </script>?
例子:
<script src='http://localhost/[...]/assets/js/frontend.min.js?ver=3.5.3'
id='elementor-frontend-js'></script>
因此,例如在這里,我想以字符串形式檢索整行以將其存儲在數組中。
$document = new DOMDocument();
libxml_use_internal_errors(true);
$document->loadHTML($content);
libxml_use_internal_errors(false);
// An empty array to store all the 'srcs'
$scripts_array = [];
// Store every script's source inside the array
foreach ($document->getElementsByTagName('script') as $script) {
if ($script->hasAttribute('src')) {
$scripts_array[] = $script->getAttribute('src');
}
}
所以這是我的一段代碼,現在我設法檢索加載的文檔,瀏覽腳本,但我只提取“src”屬性; 但我想毫無區別地檢索所有內容。
謝謝您的回答: :)
您只獲得src
屬性值,因為這就是您在$script->getAttribute('src')
中要求的全部。 將您的foreach
替換為:
$xpath = new DomXPath($document);
$attribs = $xpath ->query("//script/@*");
foreach ($attribs as $attrib) {
$scripts_array[] = $attrib->nodeValue ;
}
看看它是否有效。
首先謝謝你的回答,我試過了。 而且我沒有得到我想要的:當我進行查詢時,我得到了這個:
"more_info": [
"http://localhost:8888/Sadem/wordpress/wp-content/plugins/elementor/assets/lib/font-awesome/js/v4-shims.min.js?ver=3.5.5",
"font-awesome-4-shim-js",
...and more
]
我正在尋找的是這樣的完整行:“more_info”:[“http://localhost/.../assets/lib/font-awesome/js/v4-shims.min.js”,“font -awesome-4-shim-js", ...等等]
我一直在尋找的是這樣的完整行:
"more_info": [
"<link rel='stylesheet' href='http://localhost/.../assets/lib/font-
awesome/js/v4-shims.min.js' id='font-awesome-4-shim-js'/>",
...and more
]
但是我再次感謝你的幫助,所以很少有人願意幫助我......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.