0

CMSにサーバルブロックがあります。一部のブロックには、PHPコードとHTMLコードが含まれています。コードがhtmlコードであるときにevalを使用してコードを表示すると、次のエラーが発生します。

解析エラー:構文エラー、/ Applications / XAMPP / xamppfiles / htdocs / mob / main_content.php(17)の予期しない'<':eval()'d code on line 1

printコードを追加するかecho、コードの前に追加する必要があります。

コードが必要な場合、eval()またはecho()

4

2 に答える 2

2

何かが必要 eval()かどうかを自動的に知る方法はありません。PHPコードのように見えるからといって、それが評価されることを意図しているとは限りません。

このアプローチを進める必要がある場合は、次の 2 つの可能性をお勧めします。

  1. リテラル テキストと動的 PHP を格納するために、データベース内の異なる列を使用します。データが PHP 列から取得される場合は、 を使用しますeval()

  2. 管理者は、入力で動的 PHP をマークアップする必要があり[php]...[/php]ます。マークアップを削除してから、 を呼び出しますeval()

于 2012-12-24T08:58:58.693 に答える
2

実際の質問に答えるにrequire()は、eval()またはecho(). ただし、絶対に使用しないでくださいeval()eval()何かを行う唯一の方法であるケースはほとんどありません。PHPコードブロックを所定の位置に挿入して使用できるテンプレートエンジンを使用する必要があります。

私は個人的にPHPTALを好みますが、 SmartyTwigなど、他にもたくさんあります (これらは、簡単な Google 検索で見つけた上位のいくつかです)。

于 2012-12-24T08:37:19.967 に答える