我對PHP的正則表達式不太熟悉
在使用eregi_replace()函數時發現帶有()的字符串不能進行替換,看了手冊還是糊里糊涂
比如
將DIN1693(Pt.2)-1997加粗
使用
$str='din1693(Pt.2)-1997'
eregi_replace($str,"".$str."",$str);
最后因為字符串中含有括號而無法處理
現在我知道這樣寫不對了,但不知道正確的寫法是什么
那位大俠可以教教我這種問題的處理方法?還有,
如果使用小寫字母查詢
用這個函數會把原本的大寫字母替換成小寫,不知道如何保持原來的寫法(大寫或小寫)
我看到GOOGLE是這樣的
$str='din1693(Pt.2)-1997';
echopreg_replace("/(".preg_quote($str).")/","//1",$str);
?>
轉義
quotemeta
preg_quote
如果是ereg函數組用quotemeta
如果是preg函數組用preg_quote
echopreg_replace("/(".preg_quote($str).")/","//1",$str);
//1就是引用找到的部份,這樣可保留原來大小寫.
新聞熱點
疑難解答