为什么我的PHP变量创建我的xpath查询抛出一个“类DOMAttr的对象不能转换为字符串”;致命错误


Why is my PHP variable created by my xpath query is throwing an "Object of class DOMAttr could not be converted to string" fatal error?

所以我开始了一个问题,找出为什么我的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?