2010-03-07 72 views
1

我正在使用file_get_contents('mysourcefile.html')將mysourcefile.html的內容加載到mysql數據庫中。通過隨機查找/替換PHP「旋轉」內容

我有兩件事情,我想要做的mysourcefile.html的內容之前,我把它插入到數據庫。

首先...

我想做一個查找/載於mysourcefile特定字符串匹配替換。

例如:用戶可在其源輸入文件將看起來像這樣的標籤:

歡迎[站點名稱],位於 [網站URL]與我們聯繫: [site-email] 如果你需要幫助。

而且我想,因爲它們出現在源文件中它們被寫入到數據庫之前,做一個簡單的更換匹配這些值。替換文本將來自wordpress數據庫設置字段。例如,get_option(「ADMIN_EMAIL」)和get_option(「家」)

其次...

我還想允許用戶指定,通過一個特殊的支架,文字的字符串要使用它們以便在每次導入內容時使用相同的輸入源文件隨機化內容。

例如,在上面的句子,它可能會在源文件中的編碼就像這樣:

我也想[%喜歡|喜歡|想要%]以 [%允許|許可證% ]
[%specify | declare | select%]通過 [%special | unique | defined%]的括號, [%words | characters | text%]的字符串 要在其中使用隨機將 的內容從一個站點複製到另一個站點,使用 相同的輸入源文件。

因此,我想分析該內容字符串,並做一個簡單的隨機替換每個集合元素從集合中選擇一個單詞並使用該單詞插入。

它基本上是一個粗略的內容替換/微調,我正在尋找一些方向和方法,我可以用它來做。

回答

3

對於第一部分:

$tags = array('[site-name]', '[site-url'], '[site-email]'); 
$words = array("My Name", "My URL", "My Email"); 
$content = str_replace($tags, $words, $content); 

第二部分可能會有點麻煩。但過程是:

Grab the content between "[%" and "%]" tags. 
implode("|", $string); 
Pick a random value 

所以..你需要一個知道正則表達式的人。

+0

我很* * *任何* PHP的問題,導致Chacha102推測它可能'有點棘手'= p – 2010-03-07 04:04:14

+0

@ricebowl那麼,第二部分確實不是PHP ..這是正則表達式。嗯是的。 – 2010-03-07 04:05:06