大家快瞧那结冰的湖水,春风一吹冰都融化了,河里的小鱼都游出海面,在湖水中自由的游来游去,多可爱的小鱼啊!多么欢快的小鱼啊!真是让人深深的为它那可爱的摸样着迷。春风一吹过那枯黄的小草身边时,小草突然边了摸样,它从原来的枯黄变成了嫩绿,慢慢地小草从嫩绿变成了鲜绿渐渐地越变越绿,绿的让人难以相信那是小草。啊!小草我为你的样子感到是个奇迹。
我对PHP的正则表达式不太熟悉 在使用eregi_replace()函数时发现带有()的字符串不能进行替换,看了手册还是糊里糊涂
比如
将DIN1693(Pt.2)-1997加粗
使用
$str='din1693(Pt.2)-1997'
eregi_replace($str,"<strong>".$str."</strong>",$str);
最后因为字符串中含有括号而无法处理
现在我知道这样写不对了,但不知道正确的写法是什么
那位大侠可以教教我这种问题的处理方法?还有,
如果使用小写字母查询
用这个函数会把原本的大写字母替换成小写,不知道如何保持原来的写法(大写或小写)
我看到GOOGLE是这样的 <?
$str='din1693(Pt.2)-1997';
echopreg_replace("/(".preg_quote($str).")/","<strong>\\1</strong>",$str);
?>
转义
quotemeta
preg_quote 如果是ereg函数组用quotemeta
如果是preg函数组用preg_quote
echopreg_replace("/(".preg_quote($str).")/","<strong>\\1</strong>",$str);
\\1就是引用找到的部份,这样可保留原来大小写.
本文eregi_replace()中特殊字符的处理方法到此结束。成功人的背后总会有一个不寻常的故事。小编再次感谢大家对我们的支持!