Uが解決策を持っていることを願っています。ただし、これを試していない場合に備えて:
I created a table with two columns
//$result Contains the data fetched from the table using a model.
foreach ($result as $key=>$val) {
if($key == 'code') {
$val = str_replace('<?php','',$val); //Remove PHP's opening tag.
$val = str_replace('?>','',$val); //Remove PHP's closing tag.
$val = rtrim($val); //Remove leading and trailing spaces.
echo $key.': ';
eval($val.';'); //Execute the PHP code using eval.
} else {
echo $key.': '.$val.PHP_EOL;
}
}
私は試した
echo $result['code']
print_r($result)
var_dump($result)
highlight_string($result['code'])
eval($result['code'])
- 最後に
str_replace
が続きeval($result['code'])
ます。
ここ
から取得した結果のスクリーンショットを確認してください。
1、2、および 5 によって生成された Result が空であることがわかります。しかし、空のスペースに対して要素を検査すると、エコー/印刷された文字列がコメントアウトされていることが明確に示されます。
スクリーンショット.
これは codeigniter とは関係ありません。HTML Parserによって行われます。解決策は、PHP の開始タグと終了タグを削除してから、eval を使用することです。これが役立つことを願っています。