使用正则表达式提取 PHP 代码

2023-12-28

我想用正则表达式提取本节的整个 PHP 代码:

<h1>Extract the PHP Code</h1>
    <?php
        echo(date("F j, Y, g:i a") . ' and a stumbling block: ?>');
        /* Another stumbling block ?> */
        echo(' that works.');
    ?>
<p>Some HTML text ...</p>

不幸的是,我的正则表达式遇到了绊脚石:

/<[?]php[^?>]*[?]>/gim

有人提示如何捕获完整的 PHP 代码吗?


像这样的东西可能会起作用

/<\?php.+?\?>$/ms

该模式使用两个flags http://php.net/manual/en/reference.pcre.pattern.modifiers.php

  • m for PCRE_MULTILINE

    默认情况下,PCRE 将主题字符串视为由单个“行”字符组成(即使它实际上包含多个换行符)。 “行首”元字符 (^) 仅在字符串的开头匹配,而“行尾”元字符 ($) 仅在字符串末尾或终止换行符之前匹配(除非D修改器已设置)。这与 Perl 相同。设置此修饰符后,“行起始”和“行结束”结构分别与主题字符串中任何换行符之后或之前以及最开始和结束处匹配。这相当于 Perl 的/m修饰符。如果没有"\n"主题字符串中的字符,或没有出现^ or $在模式中,设置此修饰符没有任何效果。

  • s for PCRE_DOTALL

    如果设置了此修饰符,则模式中的点元字符将匹配所有字符,包括换行符。如果没有它,换行符将被排除。这个修饰符相当于 Perl 的/s修饰符。负类如[^a]始终匹配换行符,与此修饰符的设置无关。

这是几场比赛的样子


Caveat如果找不到则不起作用?>在一行的末尾。

所以它适用于以下情况

  • ?>');
  • ?> */

但这不起作用

<?php
  echo "actual code";
  /*
   * comment ?>
   */
?>

简而言之,如果您的代码那么混乱,那么您需要更好的解决方案。如果你的代码是干净的,它应该可以正常工作。

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

使用正则表达式提取 PHP 代码 的相关文章

  • 在 JAX-WS 中使用安全性的最佳实践是什么

    这是场景 我有一些需要保护的 Web 服务 JAX WS 目前 为了身份验证需求 我提供了额外的 SecurityWService 它为授权用户提供了一些需要在请求其他服务时描述的 userid 和 sessionid 使用一些java安全
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误
  • 将 int 转换为 float/double [重复]

    这个问题在这里已经有答案了 当我想要转换时遇到了麻烦integer价值观float 带点的数字 a 7200 b a 3600 echo b 2 b floatval b echo b 2 但它应该回响2 0 or 2 00 我也尝试过se
  • 在 Shell 中提取匹配模式后的字符串

    如何提取 Shell 脚本中匹配模式后面的任何字符串 我知道 Perl 脚本中的此功能 但不知道 Shell 脚本中的功能 以下是示例 subject 01 这是一个示例主题 可能会有所不同 我必须提取 Subject 01 后面的任何字符
  • 通过 PDO 将双精度数插入 MySQL 时精度损失

    我遇到了这种非常烦人的行为 我想知道我是否做错了什么 或者这是否是故意的 如果是的话 为什么 每当我在 php 5 3 中有一个 double 类型的变量 并且想将其插入到数据库 MYSQL 5 0 的 double 类型字段中时 该值总是
  • 确定 PHP 到目前为止执行了多长时间

    我需要确定 PHP 函数到目前为止已经运行了多长时间 有哪些选项可以确定某些 PHP 代码的运行时间 我正在使用 zend 框架 Call microtime true 函数以毫秒分辨率获取当前时间
  • Symfony/Doctrine 重新排列数据库列

    当我使用doctrine schema update命令行生成表时 Doctrine 或Symfony 似乎想要添加一个命令来重新排列我的列 将键放在它出现的前面 我想知道是否 更希望在哪里 我可以禁用环境的这个 功能 所以当我去生成我的表
  • 根据product_id获取magento产品的浏览次数

    我想在 Magento 的类别列表页面上显示查看计数 这些数据看起来过去可以通过 reports product collection 访问 但我找不到正确访问它的方法 我基本上想提供一个产品 ID 并获取返回给我的所述产品的观看次数 您可
  • 将 Regex 对象分配给 html 输入模式

    我需要以编程方式将正则表达式对象分配给输入元素模式属性 以下是我当前的实现 var regex d 5 element attr pattern regex toString slice 1 1 有没有更好的方法来做到这一点而不需要字符串操
  • 计算帖子中使用 WordPress 短代码的次数

    我有以下 WordPress 短代码功能 function wp shortcode static i 1 return i i return return add shortcode shortcode wp shortcode 这很好用
  • 如何从文件中获取整个函数

    好的 我现在正在逐行阅读一个文件 我知道文件中的每个函数名称 因为它是在 XML 文档中的其他位置定义的 应该是这样的 function function name 其中 function name 是函数的名称 我从 XML 文档中获取所
  • 软删除最佳实践(PHP/MySQL)

    Problem 在处理产品和订单的 Web 应用程序中 我想维护前员工 用户 与他们处理的订单之间的信息和关系 我想维护过时产品和包含这些产品的订单之间的信息和关系 然而 我希望员工能够整理管理界面 例如删除前员工 过时的产品 过时的产品组
  • Symfony 4 生产模式错误处理页面内存耗尽

    我将我的项目设置为prod模式在 env除了自定义错误页面之外的所有内容似乎都有效 我将此作为我的 404 树枝模板 templates bundles TwigBundle Exception error404 html twig inc
  • 检查用户设备的 GPS 是否开启

    我正在使用 jQuery Mobile 和 PHP 开发一个应用程序 我没有使用 Phonegap 或其他框架 我需要找到用户的geolocation 如果用户设备的 GPS 关闭 那么我无法获取位置 现在我需要查找用户设备的 GPS 是否
  • WordPress 子主题覆盖父主题包括

    我正在创建 WordPress 子主题 需要覆盖某些小部件模板 我正在尝试使用此方法来覆盖父主题调用 覆盖主题功能的正确方法 http www venutip com content right way override theme fun
  • ElasticSearch 和 PHP 中的多个字段搜索

    我正在使用最新版本弹性搜索 PHP https github com elasticsearch elasticsearch php以及最新版本的 MongoDB 和 ElasticSearch 我需要对可以包含一个或多个值的多个字段进行搜
  • 使用多个 WHERE 子句更新 Codeigniter 中的批次

    我查看了 CI 用户指南来了解如何处理update batch 并且它似乎只接受一个索引来匹配要更新的行 但在我的例子中 我需要指定两个索引 例如lang and id page我一起用作索引 这样的lang en id page 115是
  • WordPress 子主题包括包含文件

    我在一家WordPress使用 AMPPS 作为本地主机在我的本地计算机上进行设置 使用 Delta 主题 我创建了一个子主题 delta2 child 初始设置效果很好 但是 我需要更改包含文件夹中名为 home slider php 的
  • 使用正则表达式查找除一个字符串之外的所有字符串[重复]

    这个问题在这里已经有答案了 我想匹配除字符串之外的所有字符串 ABC 例子 A gt Match F gt Match AABC gt Match ABCC gt Match CBA gt Match ABC gt No match 我尝试
  • 如何缩短 PHP if 语句?

    我有一个 if 语句 我需要将单个字符串与许多不同的选项进行比较 我在下面发布的代码非常清楚地表明了我的意思 我知道有两种方法可以做到这一点 但另一种甚至更长 那么 是否有任何函数可以以更短的方式实现类似的功能 我的要求可能看起来很愚蠢 但

随机推荐

  • Android 中同时播放多个视频文件

    我曾在 iPad 上对 iOS 提出过同样的问题 但现在我想看看在 Android 中是否可行 目前我收到的回复是 iOS 内没有 如果在 Android 中可行 请解释一下使用了什么 API 这是我引用的原始问题 iOS 上的原始帖子可在
  • 如何枚举 SQL 中返回的行?

    我想知道是否可以枚举返回的行 不根据任何列内容 而只是产生一个顺序整数索引 例如 select count as usercount from users group by age 会返回类似的内容 1 12 2 78 3 4 4 42 那
  • 无法解析符号“createFromResource”

    我完全不明白这意味着什么 我已经进行了一些搜索 但到目前为止还没有找到任何帮助 我正在使用 android studio 并有一个对话框片段 我正在其中设置一个微调器 Spinner systemFontSpinner Spinner vi
  • Seaborn 热图更改 yticks 的日期频率

    我的问题与该主题遇到的问题类似 更改多索引数据帧的热图 xticks https stackoverflow com questions 66897981 change heatmaps yticks for multi index dat
  • 本地主机上的谷歌距离矩阵

    我正在尝试使用谷歌距离矩阵来找出从一个源到一个目的地的距离和时间 我正在调用该函数 postCode change function var address sydney var source melbourne var url https
  • EL 中的#{component} 到底是什么?

    根据https code google com p primefaces issues detail id 4720 https code google com p primefaces issues detail id 4720 The
  • GTK信号什么时候发出

    给定从用户连接到回调函数的信号 gtk main 线程将休眠 直到发出信号 我搜索了有关如何或何时发出的详细信息 但找不到任何我不知道的信息 更具体地说 它是异步发出的 以便我可以在某个函数中间调用信号 还是等待特定函数先返回 发出 切换页
  • CKReference 的 CloudKit 订阅通知未按预期工作

    我正在尝试为包含带有用户 CKReference 的字段的记录设置 CKSubscription 但每当创建记录时 它都会忽略compoundPredicate的这一部分 并且通知永远不会出现 在 CKSubscription 的谓词中使用
  • 我可以使用本地文件系统中的图像作为 HTML 的背景吗? [复制]

    这个问题在这里已经有答案了 我有一个托管在远程 Web 服务器上的 HTML 文档 我试图让网页上的元素之一使用本地文件系统中的图像文件作为其背景图像 Chrome Safari 或 Firefox 都不行 还没有尝试过 IE 这是我迄今为
  • 如何通过验证保留 JSF 视图参数

    我将 JSF 2 0 CDI 和 PrimeFaces 2 2 1 用于许多 CRUD 表单 这些表单允许用户通过单击数据表中的链接来查看或更新现有实体的属性 其中实体的标识符被传递到CRUD 形式作为视图参数 我在 PrimeFaces
  • 内存是否加密?

    我想将一些数据存储在变量中 并且我知道变量存储在内存中 内存中的数据是否被加密 另外 软件是否可以读取存储在内存中的变量名称并能够从中实际提取数据 内存是not在我所知道的任何平台上进行加密 无论如何 它的价值有限 因为处理器通常必须对明文
  • R 中 MuMIn 包的标准化

    我使用 R 中的 MuMIn 包来选择模型并计算输入变量 rain brk onset wid 的效应大小 为了使变量之间的效应大小具有可比性 我使用标准化函数对它们进行了标准化arm包裹 这是我正在遵循的代码 供参考 请参阅本文附录 ht
  • StreamReader 和二进制数据

    我有这个包含不同字段的文本文件 某些字段可能包含二进制数据 我需要获取文件中的所有数据 但现在使用 StreamReader 时 它不会读取二进制数据块以及之后的数据 解决这个问题的最佳解决方案是什么 Example field1 fiel
  • 使用 Java 8 的复杂自定义收集器

    我有一个对象流 我想通过以下方式收集它们 假设我们正在处理论坛posts class Post private Date time private Data data 我想创建一个列表 其中包含哪些组posts通过一段时间 如果没有post
  • 使用 Java 通过 Rest API 在 Confluence 中创建页面

    有谁有关于如何使用 Confluence 的 RESTful API 在 Confluence 中创建页面 wiki 条目的示例吗 我正在尝试用 Java 编写一些可以做到这一点的东西 先感谢您 谢谢 我已经在线检查了文档 但找不到任何示例
  • 安装同一 iPhone 项目的不同版本?

    当我制作游戏原型时 我经常需要回去与旧版本进行比较 以更好地了解我是否走在正确的轨道上 但每次我需要检查特定版本时都必须检查旧版本并重新导出 这是一个漫长的过程 如果我可以简单地启动不同的版本 那就会更顺利 如何在设备上安装同一项目的多个版
  • 如果在沙盒中,Stripe.js 需要“allow-same-origin”

    我正在尝试打开stripe js的支付网关 结账页面 我这样做了 async function LoadPaymentController var stripe Stripe pk test 51JBxkrB1SsiUQAfnzEWMqNg
  • 从 url 中删除 php 扩展名

    我有网址example com lt php example并希望删除 phpexample com lt example我尝试使用 htaccess 但我认为这是不可能的 RewriteEngine On RewriteCond REQU
  • 是否可以使 SwiftUI ListMenu 具有不同的行为?

    是否可以使用 swiftUI 创建一个列表菜单 其中列表项具有不同的行为 并使用 foreach 添加到视图中 列表项将是模型 例如 第一个将打开 个人资料 视图 第二个将打开另一个不同的视图 第三个将只是简单地注销 并用 ForEach
  • 使用正则表达式提取 PHP 代码

    我想用正则表达式提取本节的整个 PHP 代码 h1 Extract the PHP Code h1 Another stumbling block gt echo that works gt p Some HTML text p 不幸的是