[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 メーリングリストの案内