PHP preg_match 占位符 [@varname]

标签 php regex preg-match-all

很抱歉删除了另一个 preg_match 正则表达式问题。我已经处理这个问题太久了,无法让它工作,所以感谢任何帮助!!

我需要一个简单的 preg_match_all 来返回格式为 [@varname] 的占位符。

在字符串中

"hello, this is [@firstname], i am [@age] years old"

我希望得到一个包含“firstname”和“age”值的数组。

我对[varname]的尝试是有效的:

preg_match_all("/[([^]]+)]/", $t, $result);

我试图包含@character的任何事情都失败了......

preg_match_all("/[\@([^]]+)]/", $t, $result);

最佳答案

代码:

$str = 'hello, this is [@firstname], i am [@age] years old';
preg_match_all('~\[@(.+?)\]~', $str, $matches);
print_r($matches);

输出:

Array
(
    [0] => Array
        (
            [0] => [@firstname]
            [1] => [@age]
        )
    [1] => Array
        (
            [0] => firstname
            [1] => age
        )
)

关于PHP preg_match 占位符 [@varname],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725810/

相关文章:

php - 在学说中,在自定义存储库中编写插入查询是好的做法吗

php - 加权支付网关旋转器

php - 如何使用 preg_match 查找模式匹配并保存到数组

javascript - 在 WordPress 主题模板中排队 jQuery 插件

php - 带有 mysql_fetch_array 的嵌套 While 循环给出空白结果

c# - 需要 Body 标签内的数据,但不需要任何其他标签

python - 是否有一个 python 正则表达式来查找街道名称,后跟一个或多个人,后跟门牌号?

Javascript 正则表达式创建嵌套 html 列表项

php - 正则表达式获取单引号和双引号之间的内容php

php - 正则表达式提取标签之间的文本,但不提取标签