2011-05-25 24 views
1

我需要更新PHP文件中定義的常量。該constants.php文件很簡單:從C#更新PHP文件常量#

<?php 
$firstConstant = "abcd"; 
$third = "abcd"; 

$updatedOn = "23 April 2001"; 
?> 

現在我需要的是我的C#應用​​程序來更新此文件中的當前日期的$updatedOn不變。

我該如何做到這一點?提前致謝!

+0

正則表達式替換+?你爲什麼不使用配置文件? – erenon 2011-05-25 12:10:27

+0

這就是我需要幫助......我之前沒有使用過正則表達式......我如何使用配置文件?該文件被其他PHP頁面用於提取值。 OMG! – Jim 2011-05-25 12:15:24

回答

2

您可以編寫一個與$updatedOn = "23 April 2001";相匹配的正則表達式,在文件中生成替換行,然後使用String.Replace方法將您的整行替換爲您創建的新行。這裏有一個正則表達式讓你開始:

\$updatedOn = \"([A-Za-z\W0-9]+)\"

對於一些更靈活一點,你可以寫一個simple parser其理解PHP的一個子集 - 即代碼標記和分配/字符串常量 - 解析文件,把將鍵/值對組合到字典中,更新相關值並將其重新寫回。

一些正則表達式資源:

+2

OMG!寫一個解析器!如果這不會讓我加薪,那麼別的什麼都不會! 「嗯,你看,我寫了一個自定義的動態解析器​​,它理解PHP的_whole_子集,包括代碼標籤和賦值/字符串常量,以使其工作」;)謝謝! – Jim 2011-05-25 12:27:09

+0

這是浪費幾個週末的好方法:) – mdm 2011-05-25 12:32:52