2011-10-10 121 views
-1

可能重複:
PHP how to remove extra characters at the end and beginning of a string字符串模式匹配

我有一個字符串像這樣:

輸入:

/help/detail.php 
/page1/ 
page2/ 
/page3 

輸出:

help/detail.php 
page1 
page2 
page3 

我想,如果在開始或結束存在從一個字符串中刪除/。 /在字符串的中間是可以的。我總是困惑創建這些類型的匹配字符串。

感謝

+3

*(reference)* http://docs.php.net/manual/en/function.trim.php – Gordon

回答

1

正則表達式將是這樣:

preg_replace('^/+|/+$', '', $string); 

但你其實並不需要它,trim()將做的工作在這種情況下:

trim($string, '/'); 
+0

closevoting dooplicatz。你有權力做到這一點! – Gordon

1

給你在「sed的」形式:s/^[/]*(.*)[/]*$/$1/將刪除斜線的任何號碼的後弦前面。內斜槓將保持不變。

1

您可能正在尋找^(匹配字符串的開頭)和$(匹配字符串的結尾)。

1

您可以使用strpos,strrpos和substr。

$string ='/help/detail.php' 

## begin of string 
$len=strlen($string); 
if(strpos($string,'/') == 0) 
    $string=substr($string,1,$len); 

## end of string 
$len=strlen($string); 
if(strrpos($string,'/') == ($len-1)) 
    $string=substr($string,0,-1);