Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 用于获取表单标记内容的正则表达式不';行不通_Html_Regex_Parsing_Multiline - Fatal编程技术网

Html 用于获取表单标记内容的正则表达式不';行不通

Html 用于获取表单标记内容的正则表达式不';行不通,html,regex,parsing,multiline,Html,Regex,Parsing,Multiline,我试图使用preg_match_all获取表单标记中的内容/标记,下面是正则表达式 /<form\b[^>]*>(.*?)<\/form>/i /]*>(.*)/i 但我想知道,为什么它不起作用!有什么想法吗?默认情况下,(点)与换行符不匹配。如果使用s修饰符启用点全部,则它与以下字符匹配: /<form\b[^>]*>(.*?)<\/form>/is /]*>(.*)/is 意识到您将无法匹配以下内容: <form>

我试图使用preg_match_all获取表单标记中的内容/标记,下面是正则表达式

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

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

默认情况下,
(点)与换行符不匹配。如果使用
s
修饰符启用点全部,则它与以下字符匹配:

/<form\b[^>]*>(.*?)<\/form>/is
/]*>(.*)/is
意识到您将无法匹配以下内容:

<form>
   ...

   <!-- </form> -->

   ...
</form>

...
...

仅列举其中一种可能性

嗯……奇怪。你能告诉我们你在寻找的信息来源吗?@Mark:-1表示你对一个非破坏性答案的盲目和不恰当的鹦鹉学舌,你喜欢这个答案只是因为它能让你发笑,而不是因为它能帮助任何人。巴特的回答回答了这个问题。你只是躲在评论后面,所以我们不能因为你的傲慢和无用而投票否决你。@tchrist+10,如果可以的话@马克,发布到“线程”的链接是一种缺乏信息的鹦鹉学舌行为。请随意发布一个实际的答案,解释为什么这样做是不可取的,或者链接到这样做的答案。你现在链接到的帖子并没有解释这一点。@tchrist,@Bart Kiers,如果你阅读了被接受的答案,就会解释。−⓵: 统一的、没有头脑的鹦鹉式行为不应该得到奖励@马可,如果你愿意将你的答案编辑成一个连贯的、信息丰富的答案,比较各种方法的利弊,或者至少提供一个与之相关的适当链接,我将撤回我的否决票。在那之前,你和其他所有人的回答都会因为它的不尊重和没有教育性的、近乎巴甫洛夫式的鹦鹉式反应而遭到我的否决。请尝试帮助他人。@tchrist链接的线程中已经提供了您请求的内容。至于实际的问题,它需要一个例子证明它没有达到Keng的要求。@tchrist,这有助于防止糟糕的设计。除此之外,该链接还提供了答案,如果您真的需要,可以使用正则表达式解析html。请先阅读,然后再评论。@Mark:您链接的内容是错误的。这只是一种喜剧反应。链接到从技术角度讨论这个问题的内容,而不是从笑料的角度。声称“不能使用正则表达式解析HTML”是错误的。如果不能,那么肯定可以。这就是为什么不这样做。说出你应该在何时何地去做@马可:巴特·基尔斯给出的答案是对OP问题的正确回答,而你的答案不是。你真的看不出来吗?即使你的答案是正确的——事实并非如此——告诉人们通读几英里长的帖子来找到相关的部分,而你并没有屈尊为他们提供这些部分——也比根本不回答更糟糕。