使用preg_match无法匹配任何此主题

时间:2010-09-16 23:37:41

标签: javascript php regex

我想在Youtube视频页面上匹配一些Javascript。每个视频的模式都是这样的:

<param name=\"flashvars\" value=\"somethingsomethingsomething\">

我需要了解value中的所有内容,本例somethingsomethingsomething。它被注释掉了,因为它嵌入在Javascript中。这是我正在使用的代码:

preg_match('<param name=\\"flashvars\\" value=\\"(.*)\\">', $ytPage, $match);

$ytPage是youtube页面的源代码。但是当我运行代码$matches时,永远不会返回匹配。

我有什么问题吗?

1 个答案:

答案 0 :(得分:1)

你的问题是你应该使用分隔符包围正则表达式,例如斜杠。

preg_match('/...../', ...);

示例代码:

$ytPage= "<param name=\"flashvars\" value=\"somethingsomethingsomething\">";
preg_match('/<param name=\\"flashvars\\" value=\\"(.*)\\">/', $ytPage, $match);
print_r($match)

结果:

Array
(
    [0] => <param name="flashvars" value="somethingsomethingsomething">
    [1] => somethingsomethingsomething
)

ideone

如果您正在尝试解析HTML,您可能需要考虑HTML解析器是否比正则表达式更合适。