因此,我一直在使用Wordpress 3.x,并试图构建已存储在WP MySQL数据库中的内容的自定义显示。我需要解析每个mp3网址的WP发布内容,以便我可以在代码中的其他地方重复使用它。 WordPress中有一个名为get_the_content()的内置函数,用于获取我的代码中使用的发布内容数据。如何处理脏HTML并使用Xpath(或其他进程)提取URL?
我想我已将代码简化为2行(我试图尽可能高效,因为此代码全部出现在while循环中)加上echo语句以显示xpath创建的数组中捕获的数据。问题似乎我不断收到PHP致命错误:调用非对象上的成员函数xpath(),并且echo调用不返回任何结果。第一个错误显示在短代码[be-linked-title-info]上,然后再次来自href的MP3网址。
这让我觉得帖子内容是“脏”。当上传文件时,Amazon Cloud会为每个空间插入一个“+”,并且我不能指望文件名无效,因为我有一组人上传内容,所以我希望能够提供某些可能会上传的事实名称中包含空格的文件(随后转换为+符号)
如前所述,这个错误会发生在shortcode以及href后面,这可能是使用特殊字符的b/c吗?我在此之后的所有内容都是href中的MP3 URl,仅此而已。我怎样才能清理这些数据,以便正确解析(如果这实际上是问题)?或者可能消除除标签及其属性之外的所有内容?有人可以提供一些关于我不正确行事的建议吗?
这是一个什么样每一个岗位貌似格式&内容方面的例子(这正是由get_the_content()函数返回):
<img class="myclass" title="mytitle" src="http://www.mydomain.com/myfolder/mypic.jpg" alt="myalt" width="552" height="414" />
[be-linked-title-info]
<a title="mytitle" href="https://s3.amazonaws.com/myfolder/published/RJD2+-+SEVEN+LIGHT+YEARS+(INSTRUMENTAL).mp3">Song Name and Artist</a>
The written plain text post entry describing this music track goes here and says blah blah blah
这是我使用的代码返回错误:
$xml = simplexml_load_string(get_the_content());
$list = $xml->xpath("//a[contains(@href,'mp3')]/@href");
,后来我想用这个返回从HREF捕获的网址:
<?php $list[0]; ?>