我有一个字符串,需要从中获取一段特定的文本。该块总是被包含在已知数量的其他文本中,因此它易于使用正则表达式来通过其周围环境找到所需的块。在PHP中,最好的方法是什么?我已经阅读了处理正则表达式的各种函数的手册页,但几乎所有这些函数似乎都返回匹配数,但不是匹配本身。
我的目标是获得匹配的结果,然后使用preg_replace去除已知数量并留下我想要的文本。
答案 0 :(得分:1)
if (!preg_match('/foo (expression) bar/', $text, $matches)) {
// text didn't match!
}
echo $matches[1];
您将一个额外的变量作为第三个参数传递给preg_match
,此处为$matches
。 $matches[0]
将包含整个正则表达式匹配,matches[1]
第一个()
组,$matches[2]
第二个()
组等。