文字列:
私は TKPC11090987 です。あなたは TKPC10090987 ですか? TKPC10098M9Yとは誰ですか? TKMR120990U9TKMR10059E56TKMR10059E56...................................................................... ...................................
要件:
1. 各 TKPC と TKMR の後の連続 5 桁をインターセプトします。 (例のインターセプトは、TKPC には 11090、12098、TKMR には 12099、11059 などがあるはずです。)
2. 次の条件に従ってインターセプトされた数値を比較します:
2.1 TKPC 内の 2 つの数値セット (存在する場合) 11069以下、元の文字列の条件を満たすTKPC+の各グループの下8桁を赤色で表示します。
2.1 TKMR に 10999 以下の数値のセットが 2 つある場合、TKMR の各セットと条件を満たす最後の 8 桁が元の文字列で赤色で表示されます。
$s = '我是一个人TKPC11090987是你TKPC10090987吗?TKPC10098M9Y到底是谁呢?TKMR120990U9TKMR10059E56TKMR10059E56..';$d = array( 'TKPC' => '11069', 'TKMR' => '10999',);echo preg_replace_callback('/(TKPC|TKMR)(\d{5}).{3}/', function($m) use ($d) { if($m[2] <= $d[$m[1]]) return "<font color=red>$m[0]</font>"; return $m[0]; }, $s);