将<script src =“url”>替换为<script> contents </script>

时间:2013-12-12 02:06:42

标签: php simple-html-dom

我正在使用simple_html_dom [http://sourceforge.net/projects/simplehtmldom/]来解析HTML。

我正在尝试获取所有<script>网址,抓取内容,然后将其替换为$html变量...我有这个并且几乎像我想的那样工作:

$html_elements = str_get_html( $html );
$current_src = array( );
$new_src = array( );
foreach($html_elements->find('script') as $element) {
    if( $element->src != '' )
    {
        $script_url = $element->src;

        $script_data = get_script( $script_url );

        $current_src[] = $element->outertext;
        $new_src[] = "<script>" . $element->innertext . "\n" . $script_data . "</script>";
    }
}

$html = str_replace( $current_src, $new_src, $html );

function get_script( $url )
{
  $data = file_get_contents( $url );
    return $data;
}

问题是它似乎正在将javascript文件中的加号转换为空格,当它全部说完并完成时?

1 个答案:

答案 0 :(得分:0)

请参阅上面的评论部分。

经过进一步调试后,我在代码中通过urldecode()解析数据一到多次。