2013-01-22 227 views

回答

1

您需要了解的正則表達式,this site是一個有用的資源;

用了preg_replace一個簡單的例子可以是這樣的 - 它可以改善,但希望會給你的想法...

<?php 
$string = '<script src="core.js"></script>'; 
$pattern = '/<script src\s?=\s?['|"](.*)['|"]><\/script>/i'; 
$replace = ' <temp src="library/js/$1"></temp>'; 
$result = echo preg_replace($pattern, $replace, $string); 
?> 

你需要學習才能使用約逆向引用匹配字符串的位來創建新的字符串。簡而言之,包含在括號中的部分模式可以稍後使用包含在$ replace字符串中的$ 1令牌進行檢索。您可以按照您想要的方式多次回參考。 您也可以在正在測試正則表達式時測試here,希望這有助於您。

+0

非常感謝你!我現在要看看這些網站 – Till

1

對HTML使用正則表達式幾乎不是一個好主意。考慮DOM,事遂所願:

foreach($dom->getElementsByTagName('script') as $script) { 
    $temp = $dom->createElement('temp'); 
    /* 
    * create src attribute, append it to $temp and copy value from $script 
    * I leave that up to you. 
    */ 
    $script->parentNode->replaceChild($temp, $script); 
} 
+0

我使用整潔...所以我不需要從$ dom獲得$ html ..我只需要知道如何使用preg_replace – Till