用于将Wordpress帖子中的字符串解析为HTML。我使用Simple DOM Parser。使用以下代码,我收到致命错误:Call to a member function find() on a non-object
。有人能帮忙吗?
提前感谢
<?php
require ('simple_html_dom.php');
/*
Template Name: Practice
*/
$query = new WP_Query( 'category_name=arthouse' );
if ($query->have_posts()) {
while ( $query->have_posts() ) {
$query->the_post();
$page = the_content().' ';
$html = str_get_html($page). " ";
foreach($html->find('div[class=post]') as $element) {
echo $element->src . '<br>';
}
}
}else{
echo 'Sorry, no posts matched your criteria.';
}
?>
首先,我不明白你为什么在这里使用DOM parser
,如果你愿意使用simple dom parser
从div[class=post]
内部获得所有链接,那么你应该写这样的
foreach($html->find('div.post a') as $a){ // or div[class=post] a
echo $a->href.'<br />'; // for link, i.e. http://somedomain.com/somepage.php
// or
echo $a; // to print out the link as it's
}
这可能不适合你的html布局,但它可能会给你一个想法,也可以检查这个答案。如果你尝试这个代码(从我的网站上获取所有的帖子标题/链接),你可能会有一个想法(不允许删除我的网站)
$html = file_get_html('http://heera.it');
foreach($html->find('section.post-body h3 a') as $a){
echo $a.'<br />';
}
这(section.post-body h3 a
)将从h3
标签内部获取所有链接,该标签位于类为post-body
的section
标签内部。再次确认,为什么要使用Dom parser
?我认为,你不需要使用解析器,也许你做错了,我认为是的。