0

だから私は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>",
4

1 に答える 1

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として実行されます。

于 2009-12-11T19:55:58.130 に答える