我在向关联数组添加简单文本值时遇到问题。这是我的代码的一部分
if($count > 0){
echo $ns_content->encoded;//test works i see the content
$itemnode = array (
'imgurl' => $item->imgurl,
'title' => $item->title,
'desc' => $item->description,
'content' => $ns_content->encoded,
'link' => $item->link,
'date' => $item->pubDate,
);
array_push($feed, $itemnode);
}
print_r($feed);
只需回显$ ns_content->编码的作品,但是当我在数组中插入值供以后使用时,它会保持空白吗?这也是描述的情况。 唯一的问题是它们都是带有html标签的多行文字,这可能是问题???
问候
答案 0 :(得分:1)
您似乎正在使用SimpleXML
来访问XML文档。如果要将节点的值存储为字符串,则必须将其强制转换为字符串(否则只能引用SimpleXMLElement
实例)。
有三种方法可以做到:
// strval and (string)-cast call __toString()
$str = strval($item->description);
$str = (string)$item->description;
// call __toString() directly, might blow up if "$item->description" is no object
$str = $item->description->__toString();
答案 1 :(得分:1)
也许if($count > 0)
无效?您是否尝试将print_r
置于if
内?
答案 2 :(得分:1)
CDATA?我想有时CDATA会在尝试解析Feed时遇到困难。尝试使用LIBXML_NOCDATA
标志的SimpleXML吗?
答案 3 :(得分:0)
您的HTML可能正在呈现。尝试:
echo '<pre>' . print_r($feed, 1) . '</pre>';