Php 在文本块中查找并替换多个不同的关键字
我有这个文本块,它应该是可定制的,因为一些单词/关键字可以定制。假设这是下面的文本块 亲爱的[姓名],Lorem ipsum dolor sit amet,尊敬的精英领袖, 这是一个非常重要的问题 aliquam erat于[日期]签字。这是我的小意思 不可撤销的经营权不可撤销 ea commodo consequat.请联系[电话号码]Php 在文本块中查找并替换多个不同的关键字,php,string,str-replace,Php,String,Str Replace,我有这个文本块,它应该是可定制的,因为一些单词/关键字可以定制。假设这是下面的文本块 亲爱的[姓名],Lorem ipsum dolor sit amet,尊敬的精英领袖, 这是一个非常重要的问题 aliquam erat于[日期]签字。这是我的小意思 不可撤销的经营权不可撤销 ea commodo consequat.请联系[电话号码] 方括号内的单词是应可替换的关键字。替换它们的数据将来自db,这很好。我想知道的是,做这件事的最好方法是什么。我是否应该一个接一个地搜索特定的关键字(还有更多的
方括号内的单词是应可替换的关键字。替换它们的数据将来自db,这很好。我想知道的是,做这件事的最好方法是什么。我是否应该一个接一个地搜索特定的关键字(还有更多的关键字,但无法保证哪一个关键字会出现在哪一个文本块中,因此我必须检查每个文本块中所有可能的关键字),然后使用
str_replace
将它们替换为适当的值?或者,有没有更好的办法?谢谢。str\u replace可以一步替换整个阵列:
$map = array('[PhoneNumber]'=>'...', '[Date]'=>'...',...);
$result = str_replace(array_keys($map), array_values($map), $input);
$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;