【问题标题】:Find and replace multiple different keywords in text block在文本块中查找和替换多个不同的关键字
【发布时间】:2013-10-12 00:42:54
【问题描述】:

我有这个文本块,应该可以自定义其中一些可以自定义的单词/关键字。假设这是下面的文本块。

亲爱的 [Name],Lorem ipsum dolor sit amet,consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat 于 [日期]。 Ut wisi enim ad minim veniam, quis nostrud 锻炼 ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat。请联系[PhoneNumber]

方括号内的词是应该可以替换的关键字。替换它们的数据将来自 db,这很好。我想知道的是,最好的方法是什么。我是否应该一一搜索特定的关键字(还有更多关键字,但不能保证哪个关键字可能出现在哪个文本块中,所以我必须检查每个文本块的所有可能关键字)然后替换使用str_replace 将它们设置为适当的值?或者,有没有更好的方法呢?谢谢。

【问题讨论】:

    标签: php string str-replace


    【解决方案1】:

    str_replace 可以一步替换整个数组:

    $map = array('[PhoneNumber]'=>'...', '[Date]'=>'...',...);
    
    
    $result = str_replace(array_keys($map), array_values($map), $input);
    

    【讨论】:

      【解决方案2】:
      $admin_email_text = 'This is [first-field-label] the test, you can send the email at [form-email]';
              $admin_email_text = str_replace("[form-email]", $biz_field_email, $admin_email_text);
              $admin_email_text = str_replace("[first-field-label]", $biz_field_one, $admin_email_text);
              print $admin_email_text;
      

      【讨论】:

        猜你喜欢
        • 2012-05-31
        • 1970-01-01
        • 2013-01-29
        • 1970-01-01
        • 2011-07-29
        • 2013-12-26
        • 2014-01-14
        • 1970-01-01
        • 2014-08-22
        相关资源
        最近更新 更多