douhuang1852 2014-02-25 09:35
浏览 53
已采纳

PHP:用数组值替换字符串的某些部分

I want to replace values in a string if a particular string exists in an array.

$str = 'My name is {{name}}. I live in {{city}}. I love to {{hobby}}. {{ops...}}';

$array = array(
    'name' => '010 Pixel',
    'city' => 'USA',
    'hobby' => 'code',
    'email' => 'xyz@abc.com'
);

I want to replace {{name}} with the value of name in $array. If the string inside curly brackets doesn't exist in the $array then let that string stay as it is.

Expected result:

My name is 010 Pixel. I live in USA. I love to code. {{ops...}}

The reason I'm concern about this is, when any value coming from form contains any {{field-name}} then it shouldn't get replaced. I want to replace only what is set in $str.

  • 写回答

5条回答 默认 最新

  • dongyue0225 2014-02-25 09:39
    关注

    There is strtr function.

    $str = 'My name is {{name}}. I live in {{city}}. I love to {{hobby}}. {{ops...}}';
    
    $array = array(
        '{{name}}' => '010 Pixel',
        '{{city}}' => 'USA',
        '{{hobby}}' => 'code',
        '{{email}}' => 'xyz@abc.com'
    );
    echo strtr($str, $array);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据