當前位置:妙知谷 >

遊戲數碼 >IT技術 >

PHP如何利用正則替換非法字符?

PHP如何利用正則替換非法字符?

在php開發中,遇到一個字符串帶有一個特殊符號的空格,用trim方法清理不掉這個空格。怎麼辦?我們可以利用正則表達式來替換這些非法字符,下面來看下。

操作方法

(01)首先我們定義一個字符串,字符串的前面字符是一個正常的空格,字符串的後面字符是一個包括特殊字符的空格。然後用trim方法將字符串的前後空格去掉。再加上一些輸出代碼,如圖

PHP如何利用正則替換非法字符?

(02)運行這個php頁面,從頁面結果上可以看到原字符經過trim方法後,成功把字符前的正常空格去掉了,但字符後面的特殊空格並沒有去除掉。

PHP如何利用正則替換非法字符? 第2張

(03)那麼怎樣才能把這些特殊字符去掉?可以使用正則表達式。首先我們定義一個正則表達式:$reg = '/[^0-9a-z]/'

PHP如何利用正則替換非法字符? 第3張

(04)這個正則是什麼意思?中括號裏的字符是能匹配出來的字符,即0到9的數字和a到z的字母數字是都可以匹配出來的,但如果加上了^符號,就是相反的意思。即是除了0-9數字和a-z的字母外的所有字符能匹配查找出來。

PHP如何利用正則替換非法字符? 第4張

(05)然後調用php內置的preg_replace方法把所有其他的字符替換掉,該方法就是傳入正則表達式,然後把正則表達匹配出來的字符(上面的是所有非數字和字母的字符)替換成‘’(即空字符串),也就是刪除了非數字和字母的字符。

PHP如何利用正則替換非法字符? 第5張

(06)再次運行頁面,可以看到現在字符的前後空格都沒有了,都被去除了。

PHP如何利用正則替換非法字符? 第6張

(07)preg_replace還有另外一個重要的參數,第四個參數,limit,這是做什麼用的?當你在替換字符串時,有時並不需要替換所有的不需要的字符,只需要替換前面的某幾個,比如2個,或3個,我們就需要使用這個參數了,傳入2或3。這個參數默認是-1,即全部替換。

PHP如何利用正則替換非法字符? 第7張
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/itjishu/3vrk6o.html