Javascript 从HTML中提取所有js脚本和样式并添加到textarea
我在下面编写的代码将提取js,如下所示:Javascript 从HTML中提取所有js脚本和样式并添加到textarea,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我在下面编写的代码将提取js,如下所示: src="assets/js/jquery.min.js" src="assets/smooth-scroll/smooth-scroll.js" 我希望它像:(我想我的正则表达式是错误的): 这是我的密码: $htmlData = file_get_contents($url); if ($htmlData === false) { echo "error!!";// Handle the error die(); } preg_match_al
src="assets/js/jquery.min.js"
src="assets/smooth-scroll/smooth-scroll.js"
我希望它像:(我想我的正则表达式是错误的):
这是我的密码:
$htmlData = file_get_contents($url);
if ($htmlData === false) {
echo "error!!";// Handle the error
die();
}
preg_match_all("/\<script(.*?)?\>(.|\\n)*?\<\/script\>/i", $htmlData, $matches);
//example output #1
echo "<pre>";
echo print_r($matches[1]);
echo "</pre>";
//example output #2
$matches = $matches[1];
foreach ($matches as $val) {
//echo "<script";
echo $val;
//echo "</script>"; //<-- adding <script> tags breaks this code
}
$htmlData=file\u get\u contents($url);
如果($htmlData==false){
echo“error!!”;//处理错误
模具();
}
preg\u match\u all(“/\(.\124;\\ n)*?\/i”,$htmlData,$matches);
//示例输出#1
回声“;
echo print_r($matches[1]);
回声“;
//示例输出#2
$matches=$matches[1];
foreach($匹配为$val){
//echo“您需要在捕获的片段中包含脚本部分
$htmlData = file_get_contents($wurl);
if ($htmlData === false) {
echo "error!!";// Handle the error
die();
}
preg_match_all("/(\<script(.*?)?\>(?:.|\\n)*?\<\/script\>)/i", $htmlData, $scripts);
preg_match_all('/<link(.*?)?\>/is', $htmlData, $styles);
//$scripts.=implode(" ",$matches[2]);
//Print array for scripts to get array level;
echo "<pre>";
print_r($scripts[2]);
echo "</pre>";
//Print array for styles to get array level;
echo "<pre>";
print_r($styles[1]);
echo "</pre>";
$scripts = $scripts[2];
foreach ($scripts as $script) {
$all_scripts.= "%script ".$script."#%/scripts#"."\n";
}
$styles = $styles[1];
foreach ($styles as $style) {
$all_styles.= "%link ".$style."#"."\n";
}
$all_scripts = str_replace(array('%', '#'), array(htmlentities('<'), htmlentities('>')), $all_scripts);
$all_styles = str_replace(array('%', '#'), array(htmlentities('<'), htmlentities('>')), $all_styles);
echo "<p>My Scripts:<br/>";
echo $all_scripts;
echo "</p>";
echo "<p>My Styles:<br/>";
echo $all_styles;
echo "</p>";
?>
<textarea name="my_Styles" rows="8" cols="100">
<?php echo $all_styles; ?>
</textarea>
<textarea name="my_Scripts"rows="8" cols="100">
<?php echo $all_scripts; ?>
</textarea>
preg\u match\u all(“/(\(?:.\124;\\ n)*?\)/i”,$htmlData,$matches);
好的,我算出了我的代码:
$htmlData=file\u get\u contents($wurl);
如果($htmlData==false){
echo“error!!”;//处理错误
模具();
}
preg\u match\u all(“/(\(?:.\124;\\ n)*?\)/i”,$htmlData,$scripts);
preg_match_all('//is',$htmlData,$styles);
//$scripts.=内爆(“,$matches[2]);
//打印脚本的数组以获得数组级别;
回声“;
打印($scripts[2]);
回声“;
//打印样式的数组以获得数组级别;
回声“;
打印($styles[1]);
回声“;
$scripts=$scripts[2];
foreach($scripts作为$script){
$all_scripts.=%script.$script.#%/scripts.#“\n”;
}
$styles=$styles[1];
foreach($style作为$style){
$all_styles.=%link.$style.#“\n”;
}
$all_scripts=str_replace(数组(“%”,“#”)、数组(htmlentities(“”))、$all_scripts);
$all_styles=str_replace(数组('%','#')、数组(htmlentities('')、$all_styles);
echo“我的脚本:
”;
echo$all_脚本;
回声“”;
回声“我的风格:
”;
echo$all_样式;
回声“”;
?>
code仍在给我同样的结果。
preg_match_all("/(\<script(.*?)?\>(?:.|\\n)*?\<\/script\>)/i", $htmlData, $matches);
$htmlData = file_get_contents($wurl);
if ($htmlData === false) {
echo "error!!";// Handle the error
die();
}
preg_match_all("/(\<script(.*?)?\>(?:.|\\n)*?\<\/script\>)/i", $htmlData, $scripts);
preg_match_all('/<link(.*?)?\>/is', $htmlData, $styles);
//$scripts.=implode(" ",$matches[2]);
//Print array for scripts to get array level;
echo "<pre>";
print_r($scripts[2]);
echo "</pre>";
//Print array for styles to get array level;
echo "<pre>";
print_r($styles[1]);
echo "</pre>";
$scripts = $scripts[2];
foreach ($scripts as $script) {
$all_scripts.= "%script ".$script."#%/scripts#"."\n";
}
$styles = $styles[1];
foreach ($styles as $style) {
$all_styles.= "%link ".$style."#"."\n";
}
$all_scripts = str_replace(array('%', '#'), array(htmlentities('<'), htmlentities('>')), $all_scripts);
$all_styles = str_replace(array('%', '#'), array(htmlentities('<'), htmlentities('>')), $all_styles);
echo "<p>My Scripts:<br/>";
echo $all_scripts;
echo "</p>";
echo "<p>My Styles:<br/>";
echo $all_styles;
echo "</p>";
?>
<textarea name="my_Styles" rows="8" cols="100">
<?php echo $all_styles; ?>
</textarea>
<textarea name="my_Scripts"rows="8" cols="100">
<?php echo $all_scripts; ?>
</textarea>