Bbcode olarak farkı yıl dönüştürmek

1 Cevap php

Yani ben php böyle bir şey yapmak istiyorum. I parantez [1995] bir sene varsa, ben 1995 yılın farkı dönüştürmek istiyorum.

"Bu bir şey oldu beri [1995] yıl oldu." Gibi bir şey

bu yüzden 2009 olmak üzere, bu derdim

"Bu bir şey oldu bu yana 14 yıl geçti."

Açıkçası çıkarılarak bölüm oldukça kolay olurdu, ama ben parantez içinde sayı koyabilirsiniz ve php çıkış farkı olur ki, ben bunu yazmak istiyorum ne bilemiyorum. Tarihleri ​​onlarca her yıl aynı kalmak nerede Ben sadece farkı belirtmek istiyorum, bir takvim için bu kullanıyorum.

Gibi bir şey kullanmak istiyorum

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

$ Bbcode dizi zaten bu gibi bazı öğeler vardır

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

1 Cevap

Böyle bir şey deneyin

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

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

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

Regex üzerinde e değiştirici yerine dize oldukça basit bir dize daha, PHP gibi yürütmek yapar.