我對PHP的正則表達式不太熟悉
在使用eregi_replace()函數(shù)時發(fā)現(xiàn)帶有()的字符串不能進行替換,看了手冊還是糊里糊涂
比如
將 DIN 1693(Pt.2)-1997 加粗
使用
$str=’din 1693(Pt.2)-1997′
eregi_replace($str,”<strong>”.$str.”</strong>”,$str);
最后因為字符串中含有括號而無法處理
現(xiàn)在我知道這樣寫不對了,但不知道正確的寫法是什么
那位大俠可以教教我這種問題的處理方法? 還有,
如果使用小寫字母查詢
用這個函數(shù)會把原本的大寫字母替換成小寫,不知道如何保持原來的寫法(大寫或小寫)
我看到GOOGLE是這樣的
<?
$str=’din 1693(Pt.2)-1997′;
echo preg_replace(“/(“.preg_quote($str).”)/”,”<strong>\1</strong>”,$str);
?>
轉(zhuǎn)義
quotemeta
preg_quote
如果是ereg函數(shù)組用quotemeta
如果是preg函數(shù)組用preg_quote
echo preg_replace(“/(“.preg_quote($str).”)/”,”<strong>\1</strong>”,$str);
\1就是引用找到的部份,這樣可保留原來大小寫.