Perlでは簡単にできたのに、これが意外と難しい。

Perl (オプション g は繰り返しの意味)

@colors = ('#FFFFFF', '#000000');
$line = '%1';
$line =~ s/%(\d)/color:$colors[$1]/g;
print "Content-type: text/html\n\n$line";

PHP

$colors = array('#FFFFFF', '#000000');
$line = '%1';
$line = preg_replace("/%(\d)/e", "'color:'.replace_color($1)", $line);
echo $line;

function replace_color($key)
{
   global $colors;

   return $colors[$key];
}

結果はいずれも

color:#000000

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-01-27 (金) 15:16:36 (2791d)