将数组中的字符串替换为截断字符串



我正在为我的网站使用 CodeIgniter。 我还在我的网站上使用 tumblr API 来显示发布的新闻。

因为显示整个文本有点太多了,我想将正文副本截断为 150 个字符,我使用 CI 的character_limiter函数来做到这一点。

代码在我的"家庭"控制器中如下:

public function index() {       
    //Title for home page   
    $data['title'] = "Home - Welcome";
    // Obtain an array of posts from the specified blog
    // See the config file for a list of settings available
    $tumblr_posts = $this->tumblr->read_posts();
    foreach($tumblr_posts as $tumblr_post) {
        $tumblr_post['body'] = character_limiter($tumblr_post['body'], 150);
    }
    // Output the posts 
    $data['tumblr_posts'] = $tumblr_posts;      
    // Load the template from the views directory
    $this->layout->view('home', $data);
}   

问题是,当我在视图页面上回显$tumblr_post['body']时,它并没有缩短。 像上面一样做在 Asp.net (C#( 中工作,但它似乎在 php 中不起作用,有人知道为什么以及如何解决它,或者有其他方法吗?

您的问题出在foreach循环上。 您需要先添加一个&,然后才能$tumblr_post通过引用传递它。 这可确保您实际编辑数组中的值。 如果没有&,你只是在编辑一个局部变量,而不是数组。

像这样尝试一下(注意&(:

foreach($tumblr_posts as &$tumblr_post) {
    $tumblr_post['body'] = character_limiter($tumblr_post['body'], 150);
}

相关内容

  • 没有找到相关文章

最新更新