douli6605
douli6605
采纳率100%
2014-04-17 12:54 阅读 60
已采纳

str_replace在一个数组中

I am building a simple system in CodeIgniter for a client of mine. I want to use str_replace to replace a tag like {company_name} into a value but I seem to cannot get this to work.

My current code is:

<?php

$this->db->where('id', '1');
$data = $this->db->get('pages');

$output = array('row' => $data->row());
$this->template->load('frontend/template', 'frontend/page', $output);

My try was:

<?php

$this->db->where('id', '1');
$data = $this->db->get('pages');

$output = str_replace(
    array("{company_name}"),
    array("Sample company"),
    $data->row()
);

$this->template->load('frontend/template', 'frontend/page', $output);

But I think I am currently on the wrong path as nothing displays anymore and I want some help or explanation on what I am doing wrong here. Thank you.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    douzhuang6321 douzhuang6321 2014-04-17 13:02

    Please take a look at php str_replace function .

    If you want to replace all items in the array, you need to iterate over it :

    foreach($data->row() as $key=>$value){
    $data[$key] = str_replace("{company_name}","Sample company",$value);
    }
    
    点赞 评论 复制链接分享
  • duanpin2034 duanpin2034 2014-04-17 13:03

    what about using a MySQL function REPLACE

    $this->db->select("SELECT REPLACE(field, '{company_name}', 'Sample company') FROM pages ");
    
    点赞 评论 复制链接分享

相关推荐