当前位置:  开发笔记 > 编程语言 > 正文

preg_replace正在取代$ signs

如何解决《preg_replace正在取代$signs》经验,为你挑选了1个好方法。

我有以下代码片段将%POST_TITLE%等"模板标记"替换为名为$ post_title的变量的内容.

function replaceTags( $template, $newtext ) {
    $template = preg_replace( '/%MYTAG%/', $newtext, $template );
    return $template;
}

问题是,当$ post_full中包含'$'时,返回的结果会将其删除.例如:

$template = "Replace this: %MYTAG";
$newtext = "I earn $1,000,000 a year";

print replaceTags( $template, $newtext );

// RESULT
Replace this: I earn ,000,000 a year";

我知道这与$ newtext中没有正确转义$ 1有关.我尝试过使用preg_quote()但它没有达到预期的效果.



1> derobert..:

嗯,因为你实际上并没有在那里使用正则表达式,为什么不直接使用str_replace呢?它会更快,你不会有像这样的奇怪问题.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有