我试图从页面中获取某个div的内容,并将其存储在我的db中。我做了以下工作:
$html = file_get_contents($url);
$dom = new SmartDOMDocument();
$dom->loadHTML($html);
$div_tags = $dom->getElementsByTagName('div');
foreach ($div_tags as $element) {
if(strpos($element->getAttribute('itemprop'), 'description') !== false)
$description = $element->nodeValue;
}我使用SmartDOMDocument是因为它处理UTF-8比DOMDocument更好。
现在,这将给我没有标记的text of the element。我试过这个解决方案,它确实给了我带有标签的文本。但是,当我试图将它存储在我的数据库中时,我做不到!
是否有更好的方法从元素中获取utf-8 text with the tags并将其正确存储在db中?
编辑:插入语句非常简单:
$q = "INSERT INTO `MyTable`.`content` (`description`) VALUES ('$description')";
$r=mysql_query($q);
var_dump($r);发布于 2013-08-03 21:05:32
尝试var_dump-ing $element,看看它是否具有nodeValue以外的其他属性。还应该有一些东西,如HTMLvalue、getHTML或其他类似的属性。
发布于 2013-08-03 21:36:29
尝试使用textContent而不是nodeValue。不要忘记转义(我假设在本例中使用mysql_real_escape_string )
https://stackoverflow.com/questions/18037271
复制相似问题