我在wordpress中有关于音频播客的博客文章,如
[audio mp3="http://www.andrewbusch.com/wp-content/uploads/show_6195505.mp3"][/audio]
We talk the latest with forward guidance in the Federal Reserve with Wall Street Journal reporter, Jon Hilsenrath.
我想为上面的mp3网址制作一个下载链接。
如何从上述内容中提取网址?
我尝试了以下但是它无法正常工作
<div class="banner-text">
<h1><a href="<?php the_permalink(); ?>"><?php echo the_title(); ?></a></h1>
<?php the_content(); ?>
<?php
$content = get_the_content( $more_link_text, $stripteaser );
preg_match_all('#\bhttps?://[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))#', $content, $match);
$match = $match[0];
?>
<div class="banner-download"><a href="<?php echo $match; ?>"><span class="displace">Download</span></a></div>
</div>
任何帮助?
答案 0 :(得分:0)
有趣的问题。我的直觉是尽可能多地使用WordPress内置的短代码功能来完成这项工作。 get_post_galleries
函数似乎做了类似的事情。所以这样的事情似乎做你想做的事情:
<?php
// Assumes $content is already set
preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER );
foreach ($matches as $match) {
if ( 'audio' === $match[2] ) {
$tags = shortcode_parse_atts( $match[3] );
echo $tags['mp3'];
}
}
如果有多个音频短代码,您可能需要根据处理方式对其进行优化。