Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从HTML中提取所有js脚本和样式并添加到textarea_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 从HTML中提取所有js脚本和样式并添加到textarea

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

我在下面编写的代码将提取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_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>