[英]remove special characters with regular expression in PHP
我有以下輸入字符串: '- - Adele Gislan - Web Developer - - - '
預期的輸出是以下字符串: Adele Gislan - Web Developer
我用這個正則表達式
$urli='- - Adele Gislan - Web Developer - - - ';
$urli = preg_replace("/\-[[:space:]]+$/","",$urli);
$urli = preg_replace("/\-+$/","",$urli);
但是,這一次只能刪除特殊字符“-”或“-”。
我嘗試這個
$urli = rtrim($urli, '-');
$urli = ltrim($urli, '-');
但不是理想的
您需要在字符類中包含空格和-
符號,
^[ -]+|[ -]+$
只需將匹配的字符替換為空字符串即可。
PHP代碼是
<?php
$mystring = "- - Adele Gislan - Web Developer - - - ";
echo preg_replace('~^[ -]+|[ -]+$~', '', $mystring);
?>
輸出:
Adele Gislan - Web Developer
說明:
^
斷言我們是開始。 [ -]+
匹配一個或多個空格或-
字符。 |
邏輯“或”運算符,通常用於組合兩個正則表達式。 [ -]+
匹配一個或多個空格或-
字符。 $
斷言我們處於行尾。 要獲得:
- - Adele Gislan - Web Developer - - -
至
Adele Gislan - Web Developer
采用:
[ -]{4,}
PHP-預浸料:
'/[ -]{4,}/m'
或者,您可以使用:
(?: *-+ *){2,}
PHP-預浸料:
'/(?: *-+ *){2,}/m'
如果您只想修剪開頭和結尾的破折號和空格,則無需使用正則表達式。 您可以使用一個電話來trim
:
echo trim($urli, '- ');
第二個參數是要刪除的字符列表。
輸出:
Adele Gislan - Web Developer
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.