本文介绍了Preg_Match仅返回一次相同的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在处理一个字符串,并处理!--和--!之间所有元素。但只有独特的元素才是过程。当我有!--例子--!在文本中再往下看!--示例--!,忽略第二个。代码如下:
while ($do = preg_match("/!--(.*?)--!/", $formtext, $matches)){
我知道preg_Match_all,但需要使用preg_Match来执行此操作。
有帮助吗?提前感谢!
php>
推荐答案
您将希望php仅在前一个匹配项之后查找匹配项。为此,您需要使用PREG_OFFSET_CAPTURE标志捕获字符串偏移量。
示例:
$offset = 0;
while (preg_match("/!--(.*?)--!/", $formtext, $match, PREG_OFFSET_CAPTURE, $offset))
{
// calculate next offset
$offset = $match[0][1] + strlen($match[0][0]);
// the parenthesis text is accessed like this:
$paren = $match[1][0];
}
有关详细信息,请参阅preg_match文档。
这篇关于Preg_Match仅返回一次相同的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!