【问题标题】:Php Regex Tag content tagPHP Regex Tag 内容标签
【发布时间】:2014-02-21 12:36:16
【问题描述】:

我有一个问题:

我在字符串变量中有这个文本:

$subjet = "<section>
    <article id="s1n1">
        <img src=".." alt="..">
        <p id="pa1"><p>
        <p id="pa2"><p>
        <p id="pa3"><p>
    </article>
    <article id="s1n2">
        </h2></h2>
        <p id="pa4"><p>
        <p id="pa5"><p>
        <p id="pa6"><p>
    </article>
    <article id="s1n3">
        </h2></h2>
        <p id="pa7"><p>
        <p id="pa8"><p>
        <p id="pa9"><p>
    </article>
</section>"

我正在尝试使用正则表达式获取内容,

'/<article id="s1n1">(.*?)<\/article>/'

只是第一篇文章标签的内容,但我的正则表达式不起作用:/

你能帮帮我吗?

【问题讨论】:

  • 你在转义字符串中的那些引号吗?
  • 你的预期输出是什么?

标签: php regex tags


【解决方案1】:

. 默认不匹配换行符。添加s modifier

【讨论】:

  • /&lt;article id="s1n1"&gt;([\s\S]*?)&lt;\/article&gt;/
  • @aykut 也应该可以。但我认为它比仅仅添加s 更丑陋——不过可能是个人喜好。
  • 只添加s 而不是. 不起作用,您必须使用\S 捕获其他字符。
  • @aykut 不是在谈论空格通配符 \s,而是在谈论 修饰符。请参阅文档链接。
猜你喜欢
  • 2012-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 2011-06-14
  • 1970-01-01
  • 2015-05-10
相关资源
最近更新 更多