预匹配问题

发布于 2024-11-15 13:33:42 字数 214 浏览 1 评论 0原文

我正在尝试使用 preg_match 在模板文件中查找 php 代码语句,以便我可以将它们转换为不同的语法(聪明)。

执行以下示例不会产生任何匹配项,有人可以让我知道我做错了什么吗?

$test = '<?=$test?>';
preg_match( '/<?=$([a-z]+)?>/', $test, $code );

I'm trying to use preg_match to find php code statements in template files so I can convert them to a different syntax (smarty).

Executing the following example isn't producing any matches, can someone let me know what I'm doing wrong?

$test = '<?=$test?>';
preg_match( '/<?=$([a-z]+)?>/', $test, $code );

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

木緿 2024-11-22 13:33:42
preg_match( '/<\?=\$([a-z]+)\?>/i', $test, $code );

您也可以安全地省略那里的括号

preg_match( '/<\?=\$[a-z]+\?>/i', $test, $code );
preg_match( '/<\?=\$([a-z]+)\?>/i', $test, $code );

Also you can safely omit the parenthesis there

preg_match( '/<\?=\$[a-z]+\?>/i', $test, $code );
不再让梦枯萎 2024-11-22 13:33:42

您必须转义正则表达式中使用的特殊字符。您可以使用 preg_quote() 来达到此目的

You have to escape special chars, that are used in regular expressions. You can use preg_quote() for this purpose

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文