2011-10-10 123 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);