php 中是否有任何函数可以像这样执行:
_str_replace(嗨%用户名,您的密码是%pwd,'David','P@ssw0rd')将返回字符串"嗨大卫,您的密码已P@ssw0rd"
printf('Hi %s, your password is %s', 'David', 'P@ssw0rd');
代码板。
如果不希望它立即回显,请使用 sprintf()
。
或者,您可以使该功能...
function _str_replace() {
$args = func_get_args();
$str = array_shift($args);
foreach($args as $arg) {
$str = preg_replace('/%'w+/', $arg, $str, 1);
}
return $str;
}
代码板。
。但我不会打扰。不能在函数中按变量的原始名称引用变量,因为该信息不会发送到函数。
如果您使用关联数组,则可以...
function _str_replace($str, $vars) {
foreach($vars as $name => $var) {
$str = preg_replace('/%' . preg_quote($name, '/') . '/', $var, $str);
}
return $str;
}
代码板。
或者,如果要在关联数组中发送标识符,则可以将其替换为带有 return str_replace(array_keys($vars), array_values($vars), $str);
的函数体
str_replace
就是你要找
$string = "hi %username your password is %pwd";
$string = str_replace("%username", $username, $string);
$string = str_replace("%pwd",$password, $string):
echo $string;
如果字符串的第一部分是静态的,为什么不直接连接变量呢?这可能会为您提供更大的灵活性。
$username= "david";
$password = "password";
echo "hi". $username . "your password is". $password;