从POST中获取图像源和数据

时间:2017-06-21 作者:TomPo101

我网站上的所有帖子都包含一个用A元素包装的图像,仅此而已。我需要在循环中为每个帖子存储图像的src和元素的href。希望有人能帮忙!

<div id=\'hitstatAdminMain\'>
        <?php
        $args = array(\'post_type\' => \'post\', \'posts_per_page\' => -1);
        $query = new WP_Query($args);

        if ($query->have_posts()) {
           while ($query->have_posts()){
              $query->the_post();

              //get and store src and href here
           }
        }
        wp_reset_query();

        ?>
</div>

1 个回复
最合适的回答,由SO网友:WizardCoder 整理而成

您可以使用preg_match_all 对帖子内容执行正则表达式匹配。

<div id=\'hitstatAdminMain\'>
        <?php
        $args = array(\'post_type\' => \'post\', \'posts_per_page\' => -1);
        $query = new WP_Query($args);

        if ($query->have_posts()) {
           while ($query->have_posts()){
              $query->the_post();
              // Store the current iterated posts content in a variable
              $content = get_the_content();
              // Perform a global regular expression match for content of `href` attribute
              preg_match_all(\'/<a[^>]+href=([\\\'"])(?<href>.+?)\\1[^>]*>/i\', $content, $hrefResult);
              // Perform a global regular expression match for content of `src` attribute
              preg_match_all(\'/<img[^>]+src=([\\\'"])(?<src>.+?)\\1[^>]*>/i\', $content, $srcResult);
              // preg_match_all returns an array so if you only have 1 image and 1 link you can get the first array index using `[0]`.
              $href = $hrefResult[\'href\'][0];
              $src = $srcResult[\'src\'][0];
           }
        }
        wp_reset_query();

        ?>
</div>

结束

相关推荐

Custom Loop Event Page

我需要在事件页面中创建一个循环,每页分页10篇文章。我想用的方法有点复杂。例如,当前日期为2015年5月1日:2015年1月1日至2015年3月1日至2015年6月1日至2015年9月1日我想这样列出我的所有事件:(第一:ASC排序的未来事件)-(第二:DESC排序的过去事件)因此,循环的最终结果是:2015年6月1日至2015年9月1日/-2015年3月1日至2015年1月1日$current_date = current_time( \'timestamp\', true ); $page =