Php 更改数组中对象的属性
在drupal的聚合器模块中,我对Facebook页面RSS提要的Facebook标题项有一个问题。文本的编码是字符的HTML/unicode等价物Php 更改数组中对象的属性,php,arrays,facebook,drupal-7,Php,Arrays,Facebook,Drupal 7,在drupal的聚合器模块中,我对Facebook页面RSS提要的Facebook标题项有一个问题。文本的编码是字符的HTML/unicode等价物 تجربة 我决定使用myTheme聚合器块项(&$item,$feed=0)title的修改 我写了一个print_r($item)来了解它的结构,它打印出如下内容: Array ( [item] => stdClass Objec
تجربة
我决定使用myTheme聚合器块项(&$item,$feed=0)使用htmlspecialchars\u decode()
处理$item->title的修改
我写了一个print_r($item)来了解它的结构,它打印出如下内容:
Array
(
[item] => stdClass Object
(
[iid] => 16
[fid] => 1
[title] => تجربة نص عربي من البداية بدون نص لاتيني.
[link] => http://www.facebook.com/gharibderma/posts/303019283212608
[author] => Khaled Gharib Derma Clinic
[description] => تجربة نص عربي من البداية بدون نص لاتيني.
[timestamp] => 1407389794
[guid] => www.facebook.com/notification/7f39a6557fe0b0857ce28dd9a0b26c13
)
[feed] => 0
)
我使用了以下钩子:
function myTheme_aggregator_block_item(&$item, $feed = 0) {
$item['item']->title = htmlspecialchars_decode($item['item']->title).'***';
}
在聚合器的块中,项目列表变为空白,即列表中没有文本的装饰点。聚合器的“更多”页面中的项目标题保持不变,编码错误تج代码>
在这里,我感到困惑:访问对象数组中的属性是一个问题,还是返回函数中引用的修改过的$item是一个问题 我不确定这里是否还有更多内容(我不使用Drupal),但我知道您需要使用html\u entity\u decode()
而不是htmlspecialchars\u decode()
来转换这些实体:
$item['item']->title = html_entity_decode($item['item']->title).'***';
在线演示