所以我开始了一个问题,找出为什么我的PHP代码是抓取唯一的MP3 URL,存在于我的Wordpress安装的每个帖子内容中,用于自定义使用这里的内容>>为什么我正确定义的变量不能正确地评估长度(并随后在我的代码的其余部分工作)?
我已经做了一些编辑和更新,现在需要重新制定问题和上下文。用户mrtsherman指出,根据我编写代码的顺序,我重新定义了$doc,但没有将其加载到$xpath中,但是当我试图调整这一点时,我的代码抛出了致命错误"类DOMAttr的对象无法转换为字符串"在我回显变量$ bemp3的最后一行,所有这一切的最终结果。这是否意味着它不能将属性转换为字符串?
我知道我是如此接近解决方案,它几乎要了我的命,但我也认为我已经看这个方式太多了,太久了。在这一点上,任何见解都是宝贵的!下面是我的代码,现在正确的分支:
<?php
// Start MP3 URL
$doc = new DOMDocument();
$doc->strictErrorChecking = FALSE;
$xpath = new DOMXpath($doc);
// End MP3 URL
$a = 1;
if (have_posts()) :
while ( have_posts() ) : the_post();
?>
<?php
$BEpost_content = get_the_content();
if (strlen($BEpost_content) > 0) {
echo "<div id='debug_content'>get_the_content has something</div>";
} else {
echo "<div id='debug_content'>BEpost_content is empty</div>" ;
};
$success = $doc->loadHTML($BEpost_content);
$xpath = new DOMXpath($doc);
if ($success === FALSE) {
echo "<div id='debug_loadcontent'>loadHTML failed to load post content</div>";
} else {
$hrefs = $xpath->query("//a[contains(@href,'mp3')]/@href");
if ($hrefs->length > 0) {
echo "<div id='debug_xpath'>xpath found something</div>";
} else {
echo "<div id='debug_xpath'>xpath found nothing</div>";
};
$BEmp3s = $hrefs->item(0);
};
?>
<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>
mp3: "<?php echo $BEmp3s->value; ?>"
尝试使用value?