识别并执行字符串上的 php 代码

2023-12-10

我想知道是否可以在字符串中执行php代码。我的意思是如果我有:

$string = If i say <?php echo 'lala';?> I wanna get "<?php echo 'dada'; ?>";

有人知道怎么做吗?

[EDIT]看来没人明白。我想保存一个字符串

$string = If i say <?php count(array('lala'));?>

在数据库中,然后渲染它。我可以使用

function render_php($string){
    ob_start();
    eval('?>' . $string);
    $string = ob_get_contents();
    ob_end_clean();
    return $string;
}

问题是我无法将 php 代码识别为“”(引号),例如

I say "<?php echo 'dada'; ?>"

$string = ($test === TRUE) ? 'lala' : 'falala';

有很多方法可以做你想做的事情(如果我正确地阅读你写的内容)。上面是三元的。如果条件计算结果为真,则 $string 将设置为“lala”,否则设置为“falala”。

如果您实际上是在询问您写的内容,请使用 eval() 函数。它接受一个传递的字符串并执行它,就好像它是 php 代码一样。不包括<?php ?> tags.

function dropAllTables() {
    // drop all tables in db
}

$string = 'dropAllTables();';

eval($string); // will execute the dropAllTables() function

[edit]

您可以使用以下正则表达式来查找所有 php 代码:

preg_match_all('/(<\?php )(.+?)( \?>)/', $string, $php_code, PREG_OFFSET_CAPTURE);

$php_code 将是一个数组,其中 $php_code[0] 将返回所有与代码 + 匹配的数组<?php ?>标签。 $php_code[2] 将是一个仅包含要执行的代码的数组。

So,

$string = "array has <?php count(array('lala')); ?> 1 member <?php count(array('falala')); ?>";
preg_match_all('/(<\?php )(.+?)( \?>)/', $string, $php_code, PREG_OFFSET_CAPTURE);
echo $php_code[0][0][0]; // <?php count(array('lala')); ?>
echo $php_code[2][0][0]; // count(array('lala'));

这应该对你想做的事情有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

识别并执行字符串上的 php 代码 的相关文章

  • PHP 正则表达式修复被黑的 WordPress 网站

    我有一个客户安装了多个 WordPress 但他没有保持最新状态 结果 他被黑了 当我试图找出黑客是如何进入并永久解决问题时 我正在尝试创建一个脚本来快速 自动地修复它们 我找到了这个脚本 它可以满足我的要求 http designpx c
  • 如何应对本地化?我应该遵循一个标准吗?

    我正在尝试创建一组类来处理本地化 主要是货币部分 但也包括语言 我可以想象其中的逻辑 但我不知道不同的语言和货币使用什么名称 我看到有很多 ISO 标准 我应该选择哪一个 不管怎样 这是我想到的逻辑 以防你也能帮忙解决这个问题 我会有一个
  • 如何获取字符串的前五个字符

    我读过这个获取第一个字符的问题 https stackoverflow com q 3878820 1716774字符串的 有没有办法从 C 中的字符串中获取前 n 个字符 您可以使用可枚举 Take http msdn microsoft
  • 将多个参数绑定到mysqli查询中

    现在我需要使用以下结构来处理将多个参数绑定到 mysqli 查询中 if words total 1 statement gt bind param s words 0 else if words total 2 statement gt
  • 未找到“Guzzle\Http\Client”类

    我正在尝试在 sitepoint 上跟进本教程http www sitepoint com guzzle php http client http www sitepoint com guzzle php http client 我这里是一
  • 如何使用C来限制SubString、Limit? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 第1节 include
  • Python:如何删除圆括号内的文本?

    我试过了 但没用 return re sub myResultStats text 建议 thanks 尝试这个 return re sub myResultStats text 括号表示捕获组 因此您必须转义它们
  • 从 PHP/Web 应用程序打印多个标签到 Dymo LabelWriter 450 Turbo

    我希望添加使用 Dymo LabelWriter 450 Turbo 打印多个标签的功能 我已经从 Dymo 网站下载了 DYMO Label v 8 SDK dmg 但看不到任何 Javascript Web 相关的 SDK 文件或文档
  • Wordpress Cron 错误“SSL 证书:无法获取本地颁发者证书”

    我在安装 WordPress 时遇到错误 wp cron php 无法由 WordPress 执行 调试工具 Crontrol 报告错误 SSL证书 无法获取本地颁发者证书 WGET 无法访问 wp cron php 很可能是由于 SSL
  • PHP 如何保持下拉列表中选定的选项在提交时保持选中状态?

    I have
  • 以 ASCII 字符串形式获取 MemoryStream 内容的快速方法

    我在 MemoryStream 中有一个 JSON 字符串 我使用以下代码将其作为 ASCII 字符串获取 MemoryStream memstream new MemoryStream Write a JSON string to mem
  • 获取发送 cURL 请求的用户的 IP 地址

    我想获取使用 php 中的 cURL POST 方法向我的服务器发送请求的用户的 IP 地址 我正在开发一个 Flight API 我将使用 cURL POST 方法获取请求 我必须获取客户端的 IP 地址并验证他的 IP 地址是否可用 如
  • PHP md5() 给出与 MySQL md5 不同的输出

    我正在尝试设置登录系统 但无法解决一个问题 PHP 通过 md5 给了我另一个输出 比MySQL 例如 在 PHP 中 password md5 brickmasterj return password 返回 3aa7b18f304e2e2
  • 尝试使用 fopen() 将文件写入不同的目录

    我正在尝试将文件从一个目录写入另一个目录 例如 http www xxxxxxx com admin upload php http www xxxxxxx com admin upload php to http www xxxxxxx
  • 独立于符号的字符串的模式匹配

    我需要一种算法 可以在数据中找到预定义的模式 以字符串的形式存在 独立于数据和模式的实际符号 字符 我只关心符号之间的关系 而不关心符号本身 数据中的同一符号具有不同的模式符号也是合法的 模式匹配算法必须强制执行的唯一一件事是保留模式中同一
  • 如何对 Slim 框架应用程序进行单元测试

    我一直在尝试对修改其他人代码的示例进行单元测试 每次我到达测试运行时都没有错误的程度 当我期望它们通过时 我只是遇到相同的失败 网上没有大量文档 我真的不知道还能去哪里 任何人都可以看到我的代码哪里出错了 bootstrap php php
  • CURL请求问题

    我正在尝试验证 paypal pdt 信息 我生成了模型表单并提交了它 IT 部门也开始工作并返回了信息 我尝试了同样的事情来发出卷曲请求 但我的当前请求对我来说返回空白 我的模型形式
  • 发送 QUERY 数据包时出错。 PID=9565

    我有两个不同的环境开发和生活几乎都是相同的 但上述 标题中 警告仅在开发模式下发生 在此警告之前 我还收到错误消息 允许的内存大小 268435456 字节已耗尽 这仅发生在开发模式下 使用 PHP 版本 5 6 和 mysql 不是 my
  • PHP IMAP 解码消息

    我有通过 Base64 编码和 8 位编码发送的电子邮件 我想知道如何使用 imap fetchstruct 检查消息的编码 已经这样做了大约两个小时 所以丢失了 然后正确解码 Gmail 和 Mailbox iOS 上的应用程序 将其作为
  • 现实世界抽象类使用简单示例

    有没有使用抽象类的现实世界简单示例 我试图进入 PHP 的 OOP 但我仍然无法理解 为什么应该使用抽象类以及何时使用 是的 我知道不可能创建抽象类实例 只能创建继承它的类的实例 也许您有一个图像类 并且有 2 个驱动程序 GD 和 Ima

随机推荐

  • Spring Boot 应用程序 - 服务器上下文路径

    我使用 Spring Initializer 嵌入式 Tomcat Thymeleaf 模板引擎生成了一个 Spring Boot Web 应用程序 并将其打包为可执行 JAR 文件 使用的技术 Spring Boot 2 0 0 M6 J
  • 即使安装 m2e + DWM 后,Eclipse Indigo SR2 EE 中也没有 Maven 菜单项

    我已经安装了 Eclipse Indigo SR2 EE Eclipse Java EE IDE for Web Developers Version Indigo Service Release 2 Build id 20120216 1
  • 我应该信任哪个编译器?

    这将是一个新手问题 但我正在尝试做一个小练习C语言 不C 我遇到了一些问题 假设我想在方法中使用数组 其大小取决于参数之一 void someFunc int arSize char charArray arSize DO STUFF 当我
  • 抛出或尝试捕获

    决定是否添加时的一般经验法则是什么throws方法的子句或使用try catch 从我自己读到的内容来看 throws当调用者破坏了契约 传递的对象 并且try catch当在方法内部执行的操作期间发生异常时应使用 它是否正确 如果是这样
  • 根据 WooCommerce 中其他运输方式的可用性隐藏运输方式

    我试图根据其他运输方式 通过其 ID 的可用性来隐藏运输方式 以实现稍微复杂的运输设置 根据我发现的其他代码片段 对于其他用例 排除州或仅显示免费送货 如果有 我想出了这个 function hide duplicate shipping
  • 具有不同对象的 TableView (javafx)

    我目前正在开发一个应用程序 用于观察谁负责不同的患者 但是我无法解决如何用不同的对象类型填充表格的问题 下面是我的 TableView 控制器的代码 UITableView 最终将有四种不同的对象类型 所有对象类型都将从数据库中检索 我希望
  • 如何从排序向量中有效地删除一个值?

    假使 假设vec是可移动和可复制对象的排序向量 删除所有匹配元素的最有效方法是什么value 这是正确且最有效的方法吗 auto lb std lower bound vec begin vec end value vec erase lb
  • MySQL 数据库问号而不是希伯来字符..?

    我正在尝试使用 PHP 和 MySQL 构建一个购物车 我在MySQL中的数据库是utf8 我在数据库中的表是utf8 如何使用希伯来语字符 我能够通过执行以下操作来解决此问题 数据库排序规则必须是utf8 general ci 该表与希伯
  • 如何在 Chrome 扩展程序中禁用同源策略?

    也许有一些设置可以在扩展上下文中禁用此功能 由于我正在开发一个扩展 所以我自己有责任不射中自己的目标 在开发浏览器扩展时 摆弄这个完全不合理的安全问题是非常令人沮丧的 我不想通过全局禁用它来使整个浏览器变得不安全 仅适用于在manifest
  • 我想在 JavaScript 中验证我的必填字段不为空

    希望这是基本的 JavaScript 而且答案很简单 因为我是新手 我只是想确保所有必填字段都不为空 然后用户才能继续 在我的
  • 单击下载链接时文件损坏

    我尝试使用php强制下载图像jpg文件 我已经实现了以下代码 html a href a
  • 如何在 VSCode 中导出设置

    正如此处发布的如何导出设置 大家都坚持使用Settings Sync 如果不是插件强迫我使用GitHub 在我的电脑上明确拒绝 那就没问题了 有什么方法可以手动执行此操作 或者重定向插件以使用替代的 git 存储库来实现此目的 对于 Win
  • 文本不包含任何用“sel”标记的字符 tkinter

    我最近读到了受人尊敬的布莱恩 奥克利 Bryan Oakley 写的答案 Tkinter 将行号添加到文本小部件 其中他展示了有关解决问题的示例代码 当我尝试处理该代码并且它工作正常直到我复制或粘贴某些内容时 即我按Ctrl C or Ct
  • 构建时 GMSPlaceField 错误 - Swift 4.2

    我有一个正在使用的应用程序Google 的地点自动完成功能 所以我一直在遵循提供的示例代码 我已将 GooglePlace pod 添加到我的 podfile 中 因为我使用的是相同的 全屏控制 我正在使用他们的示例代码 在我尝试构建项目之
  • postInvalidate() 的作用是什么?

    有什么用postInvalidate 安卓中的功能 我在很多地方都看到过这个功能 当我谷歌搜索时 我得到了这么多 后无效 在 UI 线程上发布无效请求 我不知道那里的 无效请求 是什么意思 有人可以详细解释这里发生了什么吗 每个从 View
  • Docker:优雅地停止 django 服务器

    我在用着docker and docker compose 里面docker compose yml我有启动 django 服务器的命令 command run web sh 在 json 格式中 命令应在 exec 模式下运行 里面web
  • 在java中解析时间戳和时区?

    我正在尝试解析从数据库获取的时区格式时间戳字符串 字符串如下 SimpleDateFormat mdyFormat new SimpleDateFormat yyyy MM dd HH mm ss SSSSSZ SimpleDateForm
  • Pandas DataFrame - 根据其他列分配 1,0 值

    我有一个包含国家名称及其能源输出百分比的数据框 我需要添加一个新列 根据该国的能源产出是高于还是低于能源产出中位数 分配 1 或 0 一些虚拟代码是 import pandas as pd def answer df pd DataFram
  • 如何检查数组索引是否为空,如果是则检查下一个?

    任何人都知道如何检查数组索引 不仅仅是一个索引 是否为空 如果为空或为零则在其中放置一个值 如果所有索引都不为空 则打印错误 抱歉 遗憾的是我无法提供代表 import java util Scanner public class Myha
  • 识别并执行字符串上的 php 代码

    我想知道是否可以在字符串中执行php代码 我的意思是如果我有 string If i say I wanna get 有人知道怎么做吗 EDIT 看来没人明白 我想保存一个字符串 string If i say 在数据库中 然后渲染它 我可