首頁  >  文章  >  後端開發  >  PHP有哪個函數可以移除文字兩邊所有字元? (所有)

PHP有哪個函數可以移除文字兩邊所有字元? (所有)

WBOY
WBOY原創
2016-12-01 00:57:021171瀏覽

trim是移除字串兩側的空白字元或其他預定義字元。
如果指定第2個參數(需要移除的符號),那是否可以移除多個?
但現在又不確定會輸入哪種符號,像是問號、點、頓號、感嘆號,總不可能把所有符號都打一遍吧?
所以請問有什麼函數可以處理字串兩邊所有的符號?

回覆內容:

trim是移除字串兩側的空白字元或其他預定義字元。
如果指定第2個參數(需要移除的符號),那是否可以移除多個?
但現在又不確定會輸入哪種符號,像是問號、點、頓號、感嘆號,總不可能把所有符號都打一遍吧?
所以請問有什麼函數可以處理字串兩邊所有的符號?

可以用preg_replace,替換不需要的字元為空。

<code>echo preg_replace('/[!:@#]/', '', '@thi:s! test#');

###输出
this test</code>

這個不單是首尾,所有位置的都會刪除,如果需要的話,需要改下正則。

可否使用正規表示式匹配首尾字符,將匹配內容和次數參數化?

<code>1.正则匹配处理
2.生成这个字符串的时候就不要这些字符</code>

使用正規是最好的方法,可以好好看看,w可以匹配所有的字類字符,從而排除掉特殊符號

你可以換個想法 限制輸入類型 只允許輸入數字字母底線

<code class="code"><?
        preg_match('/(\w+){6,12}/',$input_string,$matches);
</code>

既然你不確定使用者輸入,你需要刪除哪些東西。那你確定要的東西一定是確定的,所以不要使用黑名單制,考慮白名單比較簡單。

就是你要啥,就只允許輸入啥,其他都不通過~

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn