我正在使用wordpress和这个函数我使用返回这个或类似的东西:
<li><a href="http://foo.com/wp-content/uploads/2011/07/picture.png">picture</a></li>
我想要做的是从该标签获取HREF并将其存储在变量中,以便我可以轻松地操作它。然后在我有HREF信息后,我想丢弃<li>
和<a>
标签。
我查看了php函数strip_tag()
,但这并不是我想要的。
如果这过于复杂,我将不会在网页中包含这项工作,但如果可以做到的话......帮助就会很棒。
答案 0 :(得分:2)
首先,确保没有其他函数可以返回未格式化的数据。
如果没有,这里有一个快速而又脏的正则表达式来提取URL:
$str = '<li><a href="http://foo.com/wp-content/uploads/2011/07/picture.png">picture</a></li>';
preg_match('~\shref="([^"]++)"~', $str, $matches);
$url = $matches[1];
答案 1 :(得分:1)
您的解决方案看起来像这样。
preg_match('@<a href="(.*?)"@i', $your_string_here, $matches);
$the_url = $matches[1];
答案 2 :(得分:1)
如何更多地动手? - http://wp-snippets.com/727/custom-display-of-links-blogroll/
$links = $wpdb->get_results("SELECT * FROM $wpdb->links ORDER BY link_name ASC");
//start going through all the links and get the required values for each link
foreach ($links as $link) {
$linkurl=$link->link_url;
$linkdesc=$link->link_description;
$linkname=$link->link_name;
$linkimage=$link->link_image;
$linknotes=$link->link_notes; }
Wordpress有许多内置功能。您可以自己获取图像URL,而不必将其从代码中删除。
http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src
如果您知道附件ID
,则会返回该网址$imgData = wp_get_attachment_image_src( $attachment_id);
echo $imgData[0];