要获取网页内嵌的JavaScript代码,可以使用PHP的file_get_contents函数来获取整个HTML页面的内容,然后使用正则表达式或DOM解析器来提取JavaScript代码。
以下是使用正则表达式的示例代码:
$url = "http://example.com"; // 要获取的网页URL
$html = file_get_contents($url); // 获取网页内容
$pattern = '/<script\b[^>]*>(.*?)<\/script>/is'; // 正则表达式匹配<script>标签及其内容
preg_match_all($pattern, $html, $matches); // 使用正则表达式进行匹配
$javascripts = $matches[1]; // 提取匹配到的JavaScript代码
foreach ($javascripts as $js) {
echo $js;
}
上述代码中,首先使用file_get_contents函数获取网页的HTML内容。然后,使用正则表达式/<script\b[^>]*>(.*?)<\/script>/is匹配<script>标签及其内容,并使用preg_match_all函数进行匹配。最后,将匹配到的JavaScript代码存储在$javascripts数组中,并遍历输出。
除了使用正则表达式,还可以使用DOM解析器来提取JavaScript代码。以下是使用DOM解析器的示例代码:
$url = "http://example.com"; // 要获取的网页URL
$dom = new DOMDocument();
$dom->loadHTMLFile($url); // 加载网页内容
$scripts = $dom->getElementsByTagName('script'); // 获取所有<script>标签
foreach ($scripts as $script) {
$javascript = $script->nodeValue; // 获取<script>标签内的内容
echo $javascript;
}
上述代码中,首先创建一个DOMDocument对象,并使用loadHTMLFile方法加载网页内容。然后,使用getElementsByTagName方法获取所有的<script>标签,并使用foreach循环遍历每个<script>标签。最后,使用nodeValue属性获取<script>标签内的内容,并输出。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站