【问题标题】:how can i store preg match , match into a variable我如何将预匹配,匹配存储到变量中
【发布时间】:2013-10-31 08:43:21
【问题描述】:

好的,所以我想知道如何存储 preg_match,仅当字符串本身具有匹配的 preg_match 时才匹配到变量中。

例如:

$string1 = "this is some example id=34 ";
preg_match('/^id=(\d+)/', $string1); 

仅当 $string1 包含 id=somenumber 时,我想将 id=34 或 id=somenumber 存储到变量中 到目前为止,我一直在玩这个,但到目前为止,我得到的是真或假/布尔答案,在这种情况下,这不是我想要的

【问题讨论】:

    标签: php regex preg-match


    【解决方案1】:

    Have you read the docs? 他们会告诉你preg_match() 接受第三个参数:

    preg_match('/^id=(\d+)/', $string1, $matches); 
    

    之后,$matches[1] 将包含匹配的 ID ('43') 和 $matches[0] 匹配的整个字符串(即您的示例中的 'id=34')。

    【讨论】:

    • 为什么要存储整个字符串?如果您要拥有多个值,最好将它们存储在一个数组中,这样您就可以轻松访问实际值,而不必使用字符串函数来拆分名称和值。
    • preg_replace 可以使用正则表达式执行替换,preg_replace_callback 允许您调用接收匹配值作为参数的函数(并返回替换,当然可以为空)。
    • 不,这会回显整个字符串,我只想回显所有内容,但 id=34
    猜你喜欢
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    相关资源
    最近更新 更多