用于获取表单标记内容的正则表达式不起作用

时间:2010-11-26 19:35:57

标签: html regex parsing multiline

我正在尝试使用preg_match_all获取表单标记内的内容/标记,这里是正则表达式

/<form\b[^>]*>(.*?)<\/form>/i

但我想知道,为什么它不起作用!有什么想法吗?

2 个答案:

答案 0 :(得分:4)

默认情况下,.(DOT)与换行符不匹配。如果使用s修饰符启用DOT-ALL,则它会匹配这些字符:

/<form\b[^>]*>(.*?)<\/form>/is

意识到你将无法匹敌:

<form>
   ...

   <!-- </form> -->

   ...
</form>

仅列出其中一种可能性。

答案 1 :(得分:0)