用于将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.';
}
?>
答案 0 :(得分:0)
首先,我不明白,为什么您在这里使用DOM parser
,如果您愿意使用div[class=post]
从simple dom parser
内部获取所有链接,那么您应该写这样的东西
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布局,但它可能会给你一个想法,也是check this answer。如果您尝试此代码(从我的网站获取所有帖子标题/链接),您可能会有一个想法(不允许废弃我的网站)
$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
标记内section
标记内的所有链接,其中包含类post-body
。
再次确认,为什么使用Dom parser
?我想,你不需要使用解析器,也许你做错了,我想是的。