gpt4 book ai didi

php - preg_match 仅返回相同元素一次

转载 作者:行者123 更新时间:2023-12-02 12:39:06 27 4
gpt4 key购买 nike

我正在遍历一个字符串并处理 !-- 和 --! 之间的所有元素。但只有独特的元素才是过程。当我有!--例子--!在文本中还有一点!--example--!,第二个被忽略。

这是代码:

while ($do = preg_match("/!--(.*?)--!/", $formtext, $matches)){

我知道 preg_match_all,但需要使用 preg_match 来完成此操作。

有什么帮助吗?提前致谢!

最佳答案

您希望 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文档以获取更多信息。

关于php - preg_match 仅返回相同元素一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6929398/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com