Php 更改数组中对象的属性

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

在drupal的聚合器模块中,我对Facebook页面RSS提要的Facebook标题项有一个问题。文本的编码是字符的HTML/unicode等价物

تجربة
我决定使用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).'***';
在线演示