tags:

views:

25

answers:

1

So i wanna do something like this in php. If i have a year in brackets [1995] I want it to convert it to the the difference of the current year to 1995.

Something like "It's been [1995] years since something happened."

so with it being 2009, it'd say

"It's been 14 years since something happened."

Obviously the subtracting part would be pretty easy, but I can't figure out how I'd write this so that i can put any number in brackets and the php would output the difference. I'm using this for a calendar, where dozens of dates stay the same each year, just want to note the difference.

I wanna use something like

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

$bbcode array already has some items like this

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

Try something like this

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

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

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

The e modifier on the regex makes the replace string execute as PHP, rather than a simple string.

Atli
Thanks, I was able to get it working with "/\[(\d+)\]/e" => "date('Y', time()) - $1"
scatteredbomb