2009-12-11 83 views
0

所以我想在php中做這樣的事情。如果我在括號[1995]中有一年,我希望它將其轉換爲當前年份到1995年的差異。將年份換算成bbcode

類似於「事情已經發生了[1995]年」。

所以它是2009年,它會說

「因爲發生了一些事情它已經14年。」

顯然,減法部分會很容易,但我不知道如何寫這個,這樣我可以將任何數字放在括號內,並且php會輸出差異。我使用這個日曆,幾十個日期每年保持不變,只是要注意不同之處。

我想使用類似

preg_replace(array_keys($bbcode), array_values($bbcode), $events) 

$設置高亮陣列已經有一些類似的商品

"/\[url\=(.*?)\](.*?)\[\/url\]/is" => "<a href='$1' target='_blank'>$2</a>", 

回答

0

嘗試是這樣的

<?php 
$str = "It's been [1995] years sice something..."; 

$regexp = '/\[(\d+)\]/e'; 
$replace = 'date("Y", time()) - $1'; 

echo preg_replace($regexp, $replace, $str); 
?> 

e修改的正則表達式品牌替換字符串以PHP身份執行,而不是簡單的字符串。

+0

謝謝,我能夠使用「/ \\ [(\ d +)\\]/e」=>「date('Y',time()) - $ 1」 – Andelas

相關問題