2011-09-24 40 views
0

我有一個簡單的應用程序基於PHP的梨類SearchReplace:PHP/PEAR SearchReplace - 字符串是「varyText」 - 如何用「newVaryingText」替換「varyText」?

// Define result of Activate click 
    if (isset($_POST['action']) and $_POST['action'] == 'Activate') 
{ 
    include "$docRoot/includes/pear/SearchReplace.php" ; 
    $files = array("$docRoot/promotions/index.php") ; 
    $snr = new File_SearchReplace('$promoChange = "";', '$promoChange = "'.$currentYear.'/'.$currentPromotion.'";', $files) ; 
    $snr -> doSearch() ; 
} 

注意,它被配置爲搜索的字符串:

$promoChange = "";

我需要做的,是取代這個字符串,當變量值分配給變量$promoChange所以基本上,我試圖替換的東西看起來像這樣:

$promoChange = "2011/sep-oct";

我需要沿着線的東西:

$promoChange = "%";

什麼是這樣做的正確方法是什麼?

如果任何人有這方面的任何投入,這將不勝感激,

謝謝!

+1

然後你需要一個正則表達式,而不是一個靜態字符串替換函數。 – mario

回答

1

您可以打開文件並手動替換爲正則表達式。你可能需要的正則表達式看起來像:

$text = preg_replace(
    '/\$promoChange = "[^"]*";/', 
    '$promoChange = "' . $currentYear . '/' . $currentPromotion . '"', 
    $text 
); 

我奉勸不要使用這樣的事情任何事情更加複雜。

+0

非常感謝您的意見!對此,我真的非常感激! –