由于ereg replace被折旧,我想知道如何使用preg。这是我的代码,我需要替换{}标签。
$template = ereg_replace('{USERNAME}', $info['username'], $template);
$template = ereg_replace('{EMAIL}', $info['email'], $template);
$template = ereg_replace('{KEY}', $info['key'], $template);
$template = ereg_replace('{SITEPATH}','http://somelinkhere.com', $template);
如果我只是将其切换为preg替换它将无效。
答案 0 :(得分:2)
使用str_replace()
,为什么不呢?
像这样,哇:
<?php
$template = str_replace('{USERNAME}', $info['username'], $template);
$template = str_replace('{EMAIL}', $info['email'], $template);
$template = str_replace('{KEY}', $info['key'], $template);
$template = str_replace('{SITEPATH}','http://somelinkhere.com', $template);
?>
像魅力一样。
答案 1 :(得分:0)
我不知道ereg_replace如何工作,但preg_replace使用正则表达式。
如果您想要替换“{”和“}”
正确的方法是:
$template = preg_replace("/({|})/", "", $template);
// if $template == "asd{asdasd}asda{ds}{{"
// the output will be "asdasdasdasdads"
现在,如果您想将“{”和“}”替换为其中特定内容的位置,您应该执行:
$user = "whatever";
$template = preg_replace("/{($user)}/", "$0", $template);
// if $template == "asd{whatever}asda{ds}"
// the output will be "asdwhateverasda{ds}"
如果您想将“{”和“}”替换为可能是任何只包含“a”到“Z”字母的字符串
您应该使用:
$template = preg_replace("/{([a-Z]*)}/", "$0", $template);
// if $template == "asd{whatever}asda{ds}{}{{{}"
// the output will be "asdwhateverasdads{}{{{}"