[英]PHP rtrim all trailing special characters
我正在做一個檢測並從字符串中刪除所有尾隨特殊字符的函數。 它可以轉換如下字符串:
進入“ hello-world”。
有人不寫很多代碼就知道竅門嗎?
嘗試這個
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
或從字符串中轉義撇號
preg_replace('/[^A-Za-z0-9\-\']/', '', $string); // escape apostraphe
您可以使用這樣的正則表達式,具體取決於您對“特殊字符”的定義:
function clean_string($input) {
return preg_replace('/\W+$/', '', $input);
}
它用$
替換字符串$
末尾不是單詞字符( \\W
)的所有字符。 \\W
將匹配[^a-zA-Z0-9_]
,因此將替換所有不是字母,數字或下划線的內容。 要指定哪些字符是特殊字符,請使用這樣的正則表達式,將所有特殊字符放在[]
括號中:
function clean_string($input) {
return preg_replace('/[\/%.+-]+$/', '', $input);
}
這是您要尋找的。 :
([^\\n\\w\\d \\"]*)$
它會刪除字母,數字,空格和換行符以外的所有內容。 只是這樣稱呼它:
preg_replace('/([^\\n\\w\\s]*)$/', '', $string);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.