替换字符串中的 {{word}}
Replace {{word}} in string
有一个字符串:$str = "Hello, {{first_name}} {{last_name}}!";
和数组
中的变量$first, $last...
$trans = array("{{first_name}}" => $first, "{{last_name}}" => $last, "{{cart}}" => $crt1, "{{phone}}" => $phone, "{{adds}}" => $addr, "{{order_id}}" => $order_id);
如何替换{{first_name}}->$first
、{{last_name}}->$last
这是我所做的:
function replace_str($str, $trans)
{
$subj = strtr($str, $trans);
return $subj;
}
$cart = replace_str($str,$trans);
但是 strtr
不适用于 西里尔字母 (utf-8)
使用str_replace(); , 你可以解决你的问题。
$str = "Hello, {{first_name}} {{last_name}}!";
$str1 = str_replace("{{first_name}}",$first,$str);
$str2 = str_replace("{{last_name}}",$last,$str1);
echo $str2;
首先,我将 $str 中的 {{first_name}} 替换为 $first。然后我在 $str1.
中用 $last 替换了 {{last_name}}
你的代码没问题。 strtr()
支持多字节字符串,但应使用数组形式 strtr(string, array)
。示例:
$str = "Hello {{first_name}}!";
$first_name = "мир.";
$trans = ['{{first_name}}' => $first_name];
echo strtr($str, $trans); // Hello мир.!
您可以使用 str_replace() or str_ireplace() 不区分大小写的版本。
此处作为您的代码示例,
str_replace(array_keys($trans), $trans, $str);
您可以将 str_replace 与 array_keys.
一起使用
PHP代码:
<?php
$str = "Hello, {{first_name}} {{last_name}}!";
$first = "ХѠЦЧШЩЪЪІ";
$last = "ЬѢꙖѤЮѪ";
$crt1 = "";
$phone = "";
$addr = "";
$order_id = "";
$trans = array("{{first_name}}" => $first, "{{last_name}}" => $last, "{{cart}}" => $crt1, "{{phone}}" => $phone, "{{adds}}" => $addr, "{{order_id}}" => $order_id);
echo str_replace(array_keys($trans), array_values($trans), $str);
参考:
有一个字符串:$str = "Hello, {{first_name}} {{last_name}}!";
和数组
中的变量$first, $last...
$trans = array("{{first_name}}" => $first, "{{last_name}}" => $last, "{{cart}}" => $crt1, "{{phone}}" => $phone, "{{adds}}" => $addr, "{{order_id}}" => $order_id);
如何替换{{first_name}}->$first
、{{last_name}}->$last
这是我所做的:
function replace_str($str, $trans)
{
$subj = strtr($str, $trans);
return $subj;
}
$cart = replace_str($str,$trans);
但是 strtr
不适用于 西里尔字母 (utf-8)
使用str_replace(); , 你可以解决你的问题。
$str = "Hello, {{first_name}} {{last_name}}!";
$str1 = str_replace("{{first_name}}",$first,$str);
$str2 = str_replace("{{last_name}}",$last,$str1);
echo $str2;
首先,我将 $str 中的 {{first_name}} 替换为 $first。然后我在 $str1.
中用 $last 替换了 {{last_name}}你的代码没问题。 strtr()
支持多字节字符串,但应使用数组形式 strtr(string, array)
。示例:
$str = "Hello {{first_name}}!";
$first_name = "мир.";
$trans = ['{{first_name}}' => $first_name];
echo strtr($str, $trans); // Hello мир.!
您可以使用 str_replace() or str_ireplace() 不区分大小写的版本。
此处作为您的代码示例,
str_replace(array_keys($trans), $trans, $str);
您可以将 str_replace 与 array_keys.
一起使用PHP代码:
<?php
$str = "Hello, {{first_name}} {{last_name}}!";
$first = "ХѠЦЧШЩЪЪІ";
$last = "ЬѢꙖѤЮѪ";
$crt1 = "";
$phone = "";
$addr = "";
$order_id = "";
$trans = array("{{first_name}}" => $first, "{{last_name}}" => $last, "{{cart}}" => $crt1, "{{phone}}" => $phone, "{{adds}}" => $addr, "{{order_id}}" => $order_id);
echo str_replace(array_keys($trans), array_values($trans), $str);
参考: