Php preg_match_all()html标记

Php preg_match_all()html标记,php,regex,Php,Regex,使用preg_match_all(),我希望匹配以下内容: …randomtext…>MATCH1“(MATCH2)”…randomtext…编辑:为了澄清,这正是我试图从中提取数据的字符串,包括括号、引号、尖括号等 以下是我尝试过的:preg\u match\u all(“/^>(.+?)\”\(.+?)\)\“$/”,$htmlfile,$matches) 它应该将MATCH1提取为$matches[1][0]并将MATCH2提取为$matches[2][0] 知道它为什么不起作用吗 谢谢您

使用preg_match_all(),我希望匹配以下内容:

…randomtext…>MATCH1“(MATCH2)”…randomtext…
编辑:为了澄清,这正是我试图从中提取数据的字符串,包括括号、引号、尖括号等

以下是我尝试过的:
preg\u match\u all(“/^>(.+?)\”\(.+?)\)\“$/”,$htmlfile,$matches)

它应该将
MATCH1
提取为
$matches[1][0]
并将
MATCH2
提取为
$matches[2][0]

知道它为什么不起作用吗


谢谢

您需要避开模式中的
/
,并且不希望模式锚定到
^
$


因此,这可能会起作用:
preg\u match\u all(“/>(.+?)\”\(.+?)\)\“/”,$htmlfile,$matches)

您需要避开模式中的
/
,并且不希望模式锚定到
^
$


因此,这可能会起作用:
preg\u match\u all(“/>(.+?)\”\(.+?)\)\“/”,$htmlfile,$matches)

您没有逃脱结束标记

这应该起作用:

preg_match_all("/>(.+?)<\/a>\" \((.*?)\)/", $htmlfile, $matches);
preg\u match\u all(“/>(.+?)\”\(.*?)/”,$htmlfile,$matches);

请参阅。

您没有逃脱结束标记

这应该起作用:

preg_match_all("/>(.+?)<\/a>\" \((.*?)\)/", $htmlfile, $matches);
preg\u match\u all(“/>(.+?)\”\(.*?)/”,$htmlfile,$matches);

请参阅。

为了清楚起见,您正在尝试匹配第一个标记内以及
在第一个标记之后?你能详细说明你想匹配的模式吗?^是这条线的开头。这是你想要的吗?我个人觉得你的例子太不清楚了。顺便说一句,你需要转义更多的字符。抱歉,我已编辑了问题-我正在尝试从指定字符串中提取MATCH1和MATCH2:
>MATCH1“(MATCH2)”
它的任何一侧都可以有任何内容。因此,要清楚,您正在尝试匹配第一个标记内以及
在第一个标记之后?你能详细说明你想匹配的模式吗?^是这条线的开头。这是你想要的吗?我个人觉得你的例子太不清楚了。顺便说一句,你需要转义更多的字符。抱歉,我已编辑了问题-我正在尝试从指定字符串中提取MATCH1和MATCH2:
>MATCH1“(MATCH2)”
它的两边都可能有任何内容。谢谢!我真的很感激!谢谢斯马蒂!我真的很感激!