Php 如何将preg match、match存储到变量中
好的,我想知道如何将preg_匹配存储到变量中,只有当字符串本身具有匹配的preg_匹配时 例如:Php 如何将preg match、match存储到变量中,php,regex,preg-match,Php,Regex,Preg Match,好的,我想知道如何将preg_匹配存储到变量中,只有当字符串本身具有匹配的preg_匹配时 例如: $string1 = "this is some example id=34 "; preg_match('/^id=(\d+)/', $string1); 仅当$string1包含id=somenumber时,我才想将id=34或id=somenumber存储到变量中 到目前为止,我一直在玩弄这个问题,但到目前为止,我得到的答案不是真的,就是假的/布尔值,这不是我想要的,在这种情况下,他们会
$string1 = "this is some example id=34 ";
preg_match('/^id=(\d+)/', $string1);
仅当$string1包含id=somenumber时,我才想将id=34或id=somenumber存储到变量中
到目前为止,我一直在玩弄这个问题,但到目前为止,我得到的答案不是真的,就是假的/布尔值,这不是我想要的,在这种情况下,他们会告诉你,preg_match()
接受第三个参数:
preg_match('/^id=(\d+)/', $string1, $matches);
之后,
$matches[1]
将包含匹配的ID('43'
)和$matches[0]
匹配的整个字符串(即在您的示例中,'ID=34'
)。为什么要存储整个字符串?如果要有多个值,最好将它们存储在一个数组中,这样就可以轻松访问实际值,而不必使用字符串函数拆分名称和值。preg_replace
可以使用正则表达式执行替换,preg\u replace\u callback
允许您调用一个函数,该函数接收匹配的值作为参数(并返回替换值,当然可以为空)。不,它会回显整个字符串,我只想回显所有内容,但id=34