2013-12-12 185 views
1

我使用simple_html_dom [http://sourceforge.net/projects/simplehtmldom/]來解析HTML。用<script>內容替換<script src =「url」></script>

我試圖讓所有的<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

@AbhiBeckert感謝您的幫助!我也完全困惑!你說得對,經過很多調試後,我發現在代碼中有一個額外的'urldecode()'是問題所在! – C0NFUS3D

回答

0

請參考上面的註釋部分。

進一步調試後,我後來在代碼通過解析urldecode()數據一對多倍。

相關問題