【发布时间】:2011-11-19 04:59:10
【问题描述】:
我最近在此处获得了关于如何处理从 HTML 内容中提取我的 URL 的一个很好的答案:
Extracting context from a set point in the middle of an HTML file
但是在实现代码之后,我仍然没有显示变量的 echo 调用。我知道如果我回显 get_the_content(),它会按原样显示整个帖子正文,但它可能没有被 loadHTML() 正确处理?我实现了所提供的代码(据我所知,它完美地工作,也就是没有错误),并在 foreach 循环中将提取的 URL 分配给一个变量,以便我可以在必要的位置使用它,如下面的代码所示:
<?php
$doc = new DOMDocument();
$doc->strictErrorChecking = FALSE;
$xpath = new DOMXpath($doc);
$a = 1;
if (have_posts()) :
while ( have_posts() ) : the_post();
?>
<div class="ORtrack">
<?php
$success = $doc->loadHTML(get_the_content());
if ($success === FALSE) {
// error handling
} else {
$hrefs = $xpath->query("//a[contains(@href,'mp3')]/@href");
foreach ($hrefs as $href) {
$BEmp3s = $href;
}
};
?>
<script type="text/javascript">
var myCP<?php echo $a; ?> = new CirclePlayer("#jquery_jplayer_<?php echo $a; ?>",
{
mp3: "<?php echo $BEmp3s; ?>"
}, {
cssSelectorAncestor: "#cp_container_<?php echo $a; ?>",
volume: 0.5
});
</script>
....
<?php
endif;
wp_reset_query();
?>
</div>
每个帖子正文只有一个 MP3 URL 可以抓取,如果由于某种原因最终确实有多个 MP3 URL,我总是想要第一个,那么真的有必要构建数组吗?我还缺少什么,这是完成此任务的最有效方式吗?
【问题讨论】:
-
你没有初始化
$BEmp3s变量。 -
您是否尝试过使用
var_dump而不是echo来查看变量的内容?? -
试试 var_dump,如果它为空,它就会把东西放出来
标签: php variables xpath extract href