0

我正在尝试从页面中获取某个 div 的内容并将其存储在我的数据库中。我做了以下事情:

$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从元素中获取并将其正确存储在数据库中?

编辑: 插入语句非常简单:

$q = "INSERT INTO `MyTable`.`content` (`description`) VALUES ('$description')";
$r=mysql_query($q); 
var_dump($r);
4

2 回答 2

0

尝试var_dump -ing $element 以查看它是否具有nodeValue以外的其他属性。还应该有HTMLvalue、 getHTML 或其他类似属性。

于 2013-08-03T21:05:32.633 回答
0

尝试使用 textContent 而不是 nodeValue。并且不要忘记转义(我假设在这种情况下使用 mysql_real_escape_string)

于 2013-08-03T21:36:29.257 回答