[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><?php $string = "hoge"; ?></code>xxx';
echo "<pre>";
echo $string;
echo "</pre>";
echo "<hr />";
$string = preg_replace(
  '#<code><\?php (.*?) \?></code>#e',
  "func('\\1')", $string);
echo "<pre>";
echo $string;
echo "</pre>";
?>
---------------------------------------
-- 
goungoun <gounx2 @ gmail.com>
http://goungoun.dip.jp/app/
    
    
PHP-users メーリングリストの案内