4

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

亲爱的 [姓名],Lorem ipsum dolor sit amet,consectetuer adipiscing elit,sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat on [Date]。Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Please contact [PhoneNumber]

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

4

2 回答 2

5

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

$map = array('[PhoneNumber]'=>'...', '[Date]'=>'...',...);


$result = str_replace(array_keys($map), array_values($map), $input);
于 2013-10-04T21:31:50.560 回答
0
$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;
于 2014-08-01T11:12:29.503 回答