eregi_replace()中特殊字符的处理方法
2007-03-20 00:00
603 查看
我对PHP的正则表达式不太熟悉
在使用eregi_replace()函数时发现带有()的字符串不能进行替换,看了手册还是糊里糊涂
比如
将 DIN 1693(Pt.2)-1997 加粗
使用
$str='din 1693(Pt.2)-1997'
eregi_replace($str,"<strong>".$str."</strong>",$str);
最后因为字符串中含有括号而无法处理
现在我知道这样写不对了,但不知道正确的写法是什么
那位大侠可以教教我这种问题的处理方法? 还有,
如果使用小写字母查询
用这个函数会把原本的大写字母替换成小写,不知道如何保持原来的写法(大写或小写)
我看到GOOGLE是这样的
<?
$str='din 1693(Pt.2)-1997';
echo preg_replace("/(".preg_quote($str).")/","<strong>\\1</strong>",$str);
?>
转义
quotemeta
preg_quote
如果是ereg函数组用quotemeta
如果是preg函数组用preg_quote
echo preg_replace("/(".preg_quote($str).")/","<strong>\\1</strong>",$str);
\\1就是引用找到的部份,这样可保留原来大小写.
在使用eregi_replace()函数时发现带有()的字符串不能进行替换,看了手册还是糊里糊涂
比如
将 DIN 1693(Pt.2)-1997 加粗
使用
$str='din 1693(Pt.2)-1997'
eregi_replace($str,"<strong>".$str."</strong>",$str);
最后因为字符串中含有括号而无法处理
现在我知道这样写不对了,但不知道正确的写法是什么
那位大侠可以教教我这种问题的处理方法? 还有,
如果使用小写字母查询
用这个函数会把原本的大写字母替换成小写,不知道如何保持原来的写法(大写或小写)
我看到GOOGLE是这样的
<?
$str='din 1693(Pt.2)-1997';
echo preg_replace("/(".preg_quote($str).")/","<strong>\\1</strong>",$str);
?>
转义
quotemeta
preg_quote
如果是ereg函数组用quotemeta
如果是preg函数组用preg_quote
echo preg_replace("/(".preg_quote($str).")/","<strong>\\1</strong>",$str);
\\1就是引用找到的部份,这样可保留原来大小写.
您可能感兴趣的文章:
相关文章推荐
- jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
- Jquery的html方法里包含特殊字符的处理,类似双引号之类的
- 去除特殊的字符方法用replace()函數
- PHP对表单提交特殊字符的过滤和处理方法汇总
- Jquery的html方法里包含特殊字符的处理,类似双引号之类的
- Jquery的html方法里包含特殊字符的处理
- 使用<a>标签调用struts2的action、传递动态参数、以及参数中出现加号等特殊字符的处理方法
- 对特殊字符编码js与c#中的处理方法
- 字符串特殊字符特殊处理方法:stringByTrimmingCharactersInSet
- 关于使用dom4j生成xml时特殊字符处理的解决方法
- [Ruby] 关于字符串中特殊字符处理\n\t\r 的方法
- easyui-datagrid特殊字符不能显示的处理方法
- jQuery jqgrid 对含特殊字符 json 数据的 Java 处理方法
- xslt生成xml出现特殊字符Â处理方法
- java replaceall 用法:处理特殊字符
- SqlServer中模糊查询对于特殊字符的处理方法
- VS 2012: Post build 中使用 Signtool.exe,对于特殊password中字符的处理方法
- PHP简单处理表单输入的特殊字符的方法
- jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
- Java正则表达式处理特殊字符转义的方法