我正在尝试使用php
创建一个数据库字段合并到文档(rtf)中即如果我有一个开始的文件
亲爱的先生,客户名称:[customer_name],订单日期:[order_date]
检索到适当的数据库记录后,我可以使用简单的搜索和替换将数据库字段插入到正确的位置。
到目前为止一切顺利。
然而,我想在更换数据之前对数据进行更多控制。例如,我可能希望标题为它,或者将带分隔符的字符串转换为带有回车符的列表。因此,我希望能够在要替换的字段中添加额外的格式化命令。 e.g。
亲爱的先生,客户名称:[customer_name,TC],订单日期:[order_date,Y / M / D]
每个字段可能有多个格式化命令。
现在我有办法搜索这些字符串吗?字符串的格式不是一成不变的,所以如果我必须更改格式,那么我可以。
任何建议表示赞赏。
答案 0 :(得分:1)
您可以使用像Smarty这样的模板系统,这可能会让您的生活更轻松,因为您可以{$customer_name|ucwords}
或实际将PHP代码放入电子邮件模板中。
答案 1 :(得分:0)
您可以使用explode
将它们分隔为数组值。
例如:
$customer_name = 'customer_name, TC';
$get_fields = explode(',', $customer_name);
foreach($get_fields as $value)
{
$new_val = trim($value);
// Now do whatever you want to these in here.
}
很抱歉,如果我不理解你。
答案 2 :(得分:0)
尝试使用RegEx和preg_replace_callback:
function replace_param($matches)
{
$parts = explode(',',$matches[0]);
//$parts now contains an array like: customer_name,TC,SE,YMD
// do some substitutions and:
return $text;
}
preg_replace_callback('/\[([^\]]+)\]/','replace_param',$rtf);