我無法弄清楚如何改變我的正則表達式以保持斜線。我想確保它只包含字母,數字,下劃線,破折號和斜線。如何防止使用Regex剝離斜槓?
($查詢是一樣的東西例如/報價/部分要約-BLA-BLA-BLA)
$query = preg_replace('/[^-a-zA-Z0-9_]/', '', $query);
感謝
我無法弄清楚如何改變我的正則表達式以保持斜線。我想確保它只包含字母,數字,下劃線,破折號和斜線。如何防止使用Regex剝離斜槓?
($查詢是一樣的東西例如/報價/部分要約-BLA-BLA-BLA)
$query = preg_replace('/[^-a-zA-Z0-9_]/', '', $query);
感謝
就包括在字符類的/
。但是,由於您使用/
爲正則表達式的分隔符,你需要藏漢逃脫它作爲\/
:
$query = preg_replace('/[^-a-zA-Z0-9_\/]/', '', $query);
^^
你可以讓你的正則表達式的代替[a-zA-Z0-9_]
使用\w
,也可避免使用轉義/
短不同的分隔符說~
:
$query = preg_replace('~[^-\w/]~', '', $query);
一種方式是爲了躲避/
字符,但可以使正則表達式那種難看。
您可以使用不同的分隔符是這樣的:(以下只是說明使用不同的分隔符)
$query = "hello/world/0123";
echo $query;
$query = preg_replace('{/}', '', $query);
echo $query;