【问题标题】:Regular expression to grab form tag content doesn't work抓取表单标签内容的正则表达式不起作用
【发布时间】:2011-05-16 08:15:28
【问题描述】:

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

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

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

【问题讨论】:

  • 嗯....奇怪。你能给我们你正在搜索的来源吗?
  • @Mark:-1 表示盲目和不恰当地重复你喜欢的非指导性答案,只是因为它让你发笑,而不是因为它对任何人都有帮助。巴特的回答解决了这个问题。你只是躲在评论后面,所以我们不能因为你的傲慢和无用而投票给你。
  • @tchrist +10 如果可以的话。 @Mark,发布指向“线程”的链接是无信息的鹦鹉行为。随意发布一个实际答案,解释为什么不建议这样做,或链接到这样做的答案。您现在链接到的帖子没有解释这一点。
  • @tchrist,@Bart Kiers,如果您阅读了已接受的答案,则可以。

标签: html regex parsing multiline


【解决方案1】:

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

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

意识到您将无法匹配以下内容:

<form>
   ...

   <!-- </form> -->

   ...
</form>

仅列举其中一种可能性。

【讨论】:

    【解决方案2】:

    【讨论】:

    • −⓵: 统一的、盲目的鹦鹉式行为不应该得到奖励。 @marcog,如果您愿意将您的答案编辑成一个连贯且内容丰富的答案,比较不同方法的优缺点,或者至少提供一个适当的链接,我将撤回我的反对意见。在那之前,你和其他所有人的这样的回答让我投了反对票,因为它以鹦鹉般的反应几乎是巴甫洛夫式的不尊重和没有教育意义的拍打。 试着帮助别人。
    • @tchrist 您要求的内容已在链接线程中提供。至于实际的问题,它需要一个按照 Keng 的要求失败的例子。
    • @tchrist,这有助于防止不良设计。除此之外,如果您真的需要,该链接还提供了可以使用正则表达式解析 html 的答案。先阅读,稍后评论。
    • @Mark:您链接的内容是错误的。这只是喜剧反应。链接到从技术角度讨论这个问题的东西,而不是从一个发笑的角度。 错误声称“一个人不能使用正则表达式来解析HTML。”一个肯定可以,如果不是in one way,也许in another .这就是这样做的原因。说出您应该何时何地!
    • @marcog:@Bart Kiers 给出的答案是 对 OP 问题的正确答案, 而你的答案不是。你真的看不出来吗?即使你的答案是正确的——它不是——告诉人们阅读数英里的帖子以找到相关部分,而你并没有屈尊为他们提供这些部分——也比不回答更糟糕。
    猜你喜欢
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多