Perlでは簡単にできたのに、これが意外と難しい。 Perl (オプション g は繰り返しの意味) $line =~ s/%(\d)/color:$color[$1]">/g; PHP $line = preg_replace("/%(\d)/", "'color:'.replace_color($1)", $line); function replace_color($key) { global $colors; return $colors[$key]; }