代码之家  ›  专栏  ›  技术社区  ›  jimiyash

用数组(php)中的某些元素替换字符串

  •  0
  • jimiyash  · 技术社区  · 14 年前

    我有一段文字,比如:

    $paragraph=“你好客户名称, 您是客户。年龄岁。您出生于客户.出生日期“;

    我想用数组的内容替换它,例如

    array('Customer' => array('name'=>'Tom', 'age'=>8, 'birthdate'=>'1980-01-01'))
    

    我的问题是,做这件事最好的方法是什么?如果你有一个关于如何格式化文本的建议,那也是很有帮助的。我猜你必须使用某种正则表达式,可能是preg_filter或preg_replace。

    3 回复  |  直到 14 年前
        1
  •  2
  •   echo    14 年前

    http://php.net/manual/en/function.sprintf.php

    $format_string = "Hello there %s, You are %d years old. You were born in the year %s";
    $paragraph = sprintf($format_string, 
                         $customer['name'], 
                         $customer['age'], 
                         $customer['birthdate']);
    
        2
  •  2
  •   Ignacio Vazquez-Abrams    14 年前

    你会想用的 preg_replace_callback() 为此。正好匹配 \{(.+)\.(.+)\} 并对数组进行适当的索引。

        3
  •  0
  •   Jansen Price    14 年前

    如果$paragraph中的句子格式始终与大括号语法一致,则可以使用str_replace()。