首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WordPress中获取带有<h2>标签的所有内容?

如何在WordPress中获取带有<h2>标签的所有内容?
EN

Stack Overflow用户
提问于 2018-11-24 17:02:02
回答 1查看 1.7K关注 0票数 0

示例内容:

代码语言:javascript
复制
<h2 id="h2-1">H2 Heading (1)</h2>
<p>Lorem ipsum dolor sit amet consectetur ...</p>
<h3 id="h3-1">H3 Heading</h3>
<h2 id="h2-2">H2  Heading (2)</h2>

我想要实现的是:

代码语言:javascript
复制
<ul>
  <li><a href='#h2-1'>H2 Heading (1)</a></
  <li><a href='#h2-2'>H2 Heading (2)</a></li>
</ul>

我知道可以用正则表达式函数来完成,但是我不知道如何完成这个函数。以下是我到目前为止所做的工作:

代码语言:javascript
复制
function table_of_contents() {
    $content = get_post_field( 'post_content', $post->ID );
    $tags = preg_match_all( '#<h2>(.*?)</h2>#', $content, $matches );

    return $tags;
}
EN

回答 1

Stack Overflow用户

发布于 2018-11-24 17:51:57

可以像这样使用正则表达式:

代码语言:javascript
复制
<?php
$content = '<h2 id="h2-1">H2 Heading (1)</h2>
<p>Lorem ipsum dolor sit amet consectetur ...</p>
<h3 id="h3-1">H3 Heading</h3>
<h2 id="h2-2">H2  Heading (2)</h2>';

preg_match_all( '@<h2.*?>(.*?)<\/h2>@', $content, $matches );
$tag = $matches[1];
var_dump($tag);

输出:

代码语言:javascript
复制
array(2) {
  [0]=>
  string(14) "H2 Heading (1)"
  [1]=>
  string(15) "H2  Heading (2)"
}

详情请登录regex101:https://regex101.com/r/RNeVI2/1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53456682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档