【问题标题】:Capture content of html-tags捕获 html-tags 的内容
【发布时间】:2016-06-15 13:02:06
【问题描述】:

我需要一个正则表达式来匹配没有标签的标签中的内容。

<p>content1<a>content2 <span>content3</span></a> content4</p>
<a href="link">content1 <span>content2</span> content3</a>

目前我得到了 &lt;.[^&gt;]*&gt;(.*?)&lt; 。但是标签被捕获了。
我想匹配 content1 content2 ... 谢谢。

【问题讨论】:

  • 你说你需要content AND the subcontent。最后一句是BUT subcontent is captured。那是反对派。那么您是否需要子内容?
  • 对不起,我想排除 。已编辑。
  • 请显示您想要得到的确切结果。
  • 考虑使用 html 解析器。看到这个线程:stackoverflow.com/questions/1732348/…
  • @mrdotb 您的表达符合您要求的所有内容。在这里查看:regex101.com/r/xT2cL2/1

标签: php html regex


【解决方案1】:

您不需要正则表达式模式,只需将任何 id 分配给 P 标签或使用 jquery 获取 P 标签并尝试关注。

<p id="test">content1<a>content2 <span>content3</span></a> content4</p>

在javascript中添加

var result = document.getElementById("test").innerText

【讨论】:

  • 谢谢,但我想要一个正则表达式。它的文本数据不在 html 页面上。
【解决方案2】:

我终于找到了一种无需子标签即可捕获内容的方法。

$html = fread($handle, filesize($argv[1]));⏎
preg_match_all('/<p[^>]*>(.*?)<\/p>|<a[^>]*>(.*?)<\/a>/', $html, $matchs);
foreach ($matchs[0] as $content)
  echo strip_tags($content);
//With the html upper I get all the content

请重新考虑是否投反对票

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-21
    • 2021-01-23
    • 2022-01-11
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 2011-08-23
    • 2017-04-19
    相关资源
    最近更新 更多