Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将年份转换为差异代码_Php_Arrays_Bbcode - Fatal编程技术网

Php 将年份转换为差异代码

Php 将年份转换为差异代码,php,arrays,bbcode,Php,Arrays,Bbcode,所以我想在php中做类似的事情。如果括号[1995]中有一年,我希望将其转换为当前年份与1995年的差值 类似于“事情发生已经[1995]年了。” 所以在2009年,它会说 “事情已经过去14年了。” 显然,减法部分非常简单,但我不知道如何编写它,以便将任何数字放在括号中,php将输出差值。我把它用于日历,每年有几十个日期保持不变,只是想指出其中的差异 我想用像这样的东西 preg_replace(array_keys($bbcode), array_values($bbcode), $even

所以我想在php中做类似的事情。如果括号[1995]中有一年,我希望将其转换为当前年份与1995年的差值

类似于“事情发生已经[1995]年了。”

所以在2009年,它会说

“事情已经过去14年了。”

显然,减法部分非常简单,但我不知道如何编写它,以便将任何数字放在括号中,php将输出差值。我把它用于日历,每年有几十个日期保持不变,只是想指出其中的差异

我想用像这样的东西

preg_replace(array_keys($bbcode), array_values($bbcode), $events)
$bbcode数组中已经有一些类似的项

"/\[url\=(.*?)\](.*?)\[\/url\]/is" => "<a href='$1' target='_blank'>$2</a>",
<?php
$str = "It's been [1995] years sice something...";

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

echo preg_replace($regexp, $replace, $str);
?>
“/\[url\=(.*?\])(.*?\[\/url\]/是“=>”,

试试这样的方法

"/\[url\=(.*?)\](.*?)\[\/url\]/is" => "<a href='$1' target='_blank'>$2</a>",
<?php
$str = "It's been [1995] years sice something...";

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

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

谢谢,我可以用“/\[(\d+)\]/e”=>“日期('Y',时间())-$1”来使用它