如何在一个文本块中插入并执行PHP代码(从MySQL检索后)?

如何在一个文本块中插入并执行PHP代码(从MySQL检索后)?,php,mysql,include,preg-replace,eval,Php,Mysql,Include,Preg Replace,Eval,我有一个我管理的博客,大部分是纯文本,里面有一些HTML。当检索该博客的文本以供显示时,我希望在该文本中执行一行PHP代码,同时希望避免将PHP代码放置在我的数据库中。我使用MySQL 在大多数情况下,PHP代码类似于。我会用它来插入诸如投票、幻灯片等增强功能 在过去,我一直依赖iFrame来保存PHP文件 This is the blog text. <a id='marker'></a> This is the second part of the blog tex

我有一个我管理的博客,大部分是纯文本,里面有一些HTML。当检索该博客的文本以供显示时,我希望在该文本中执行一行PHP代码,同时希望避免将PHP代码放置在我的数据库中。我使用MySQL

在大多数情况下,PHP代码类似于
。我会用它来插入诸如投票、幻灯片等增强功能

在过去,我一直依赖iFrame来保存PHP文件

This is the blog text. <a id='marker'></a> 
This is the second part of the blog text.
这是博客文本。
这是博客文本的第二部分。
我使用“preg_replace()”将我的标记(
)替换为iframe的代码。这将产生以下内容,我使用PHP将其回传到我的页面:

This is the blog text. <iframe src='phpfile.php'></iframe>
This is the second part of the blog text.
这是博客文本。
这是博客文本的第二部分。
这很好,但我希望能够在不必猜测iframe所包含内容的高度和宽度的情况下工作

在阅读其他线索/问题时,我考虑了以下几点:

  • 在用户完成后将PHP代码插入我的数据库 进入他的博客(坏主意)

  • 在我用代码替换我的“标记”后,使用“eval”以某种方式执行我的PHP代码?我不知道如何一步到位。我想我必须采取下一种方法。(我认为“eval()”应该尽量避免!!!)

  • 将博客文本分成两部分(保存在变量中)。我可以用
    include“phpfile.php”分隔连续的“echo”语句(每个博客部分一个)。我不确定这对我的服务器来说有多占用内存——比如说,我要处理大约50kb的文本块

除了最后一种方法之外,我觉得必须有一种更简单的方法来插入PHP代码并执行它


tia提供任何建议。

您只需使用str\u replace即可解决此问题:

你的文字:

Hello world, i want [phpcode] here
脚本:

<?php $text = str_replace( "[phpcode]", phpcode(), $text);

这是你写的CMS吗?你想做什么?运行来自用户输入的PHP代码?我说得对吗?或者当用户在其输入中插入特定文本时,您想运行一些PHP代码?是的,这是我编写的CMS。博客由可信用户输入。我会把他的博客(只是文本),并插入我的PHP代码(不是用户输入PHP)在中间。我想这样做的飞行时,博客是由网页要求。希望这是有意义的。我尝试了那段代码,它在执行函数时起了作用。我的“phpcode()”函数只是告诉PHP包含我的PHP文件。当我回显“$text”时,函数首先运行,然后回显原始文本的前半部分和后半部分。是否需要使用preg_replace_callback()之类的工具?我读过其中一些问题,我想知道它是否有效?