[PHP-users 32671] Re: e 修飾子のジレンマ

goungoun gounx2 @ gmail.com
2007年 9月 28日 (金) 02:15:18 JST


こんにちは。

highlight_string() に渡す文字列は
phpのスクリプトそのものである必要があるので、
「\"」を「"」に戻す処理を追加してみました。

# func()とか定義しなくても、直接書けそうですが
# " とか ' とか \ とかのエスケープがとか考えず
# とりあえずわかりやすさ優先ということで。

---------------------------------------
<?php

function func($str)
{
  $ret = str_replace('\"','"',$str);
  $ret = '<?php '.$ret.' ?>';
  $ret = highlight_string($ret, TRUE);
  return $ret;
}

$string = 'xxx<code>&lt;?php $string = "hoge"; ?&gt;</code>xxx';
echo "<pre>";
echo $string;
echo "</pre>";

echo "<hr />";

$string = preg_replace(
  '#<code>&lt;\?php (.*?) \?&gt;</code>#e',
  "func('\\1')", $string);
echo "<pre>";
echo $string;
echo "</pre>";

?>
---------------------------------------


-- 
goungoun <gounx2 @ gmail.com>
http://goungoun.dip.jp/app/



PHP-users メーリングリストの案内