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

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

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

PHP

 $line = preg_replace("/%(\d)/", "'color:'.replace_color($1)", $line);
 $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