获取Wordpress帖子中的URL列表

时间:2014-10-18 12:21:31

标签: php mysql wordpress

我需要提取包含在Wordpress帖子内容链接中的指定域名的所有href。

域名示例" stackoverflow.com ":

有没有办法通过MySQL查询或PHP脚本来做到这一点?

提前致谢

1 个答案:

答案 0 :(得分:0)

也许我找到了解决方案:

  1. 创建名为“Links”的Wordpress页面
  2. 在使用过的主题文件夹中创建一个名为“page-links.php”的PHP文件,其中包含tis代码:

    function getUrls($string)
    {
        $regex = '/https?\:\/\/[^\" ]+/i';
        preg_match_all($regex, $string, $matches);
        return ($matches[0]);
    }
    
    $the_query = new WP_Query('posts_per_page=-1');
    while ($the_query->have_posts())
    {
        $the_query->the_post();
        $_post_id = get_the_id();
        $_post_content = get_post_field( 'post_content', $_post_id);
    
        $urls = getUrls($_post_content);
    
        foreach($urls as $url)
        {
            if (substr($url, 0, 24) == "http://stackoverflow.com")
                echo $url . '<br />';
        }
    
    }
    
    wp_reset_postdata();
    
  3. 然后用一个bowser调用Wordpress页面。 通过这种方式,将在帖子中找到所有带有“stackoverflow.com”域名的URL。