可能重复:
PHP如何删除字符串末尾和开头的额外字符
我有这样的字符串:
输入:
/help/detail.php
/page1/
page2/
/page3
输出:
help/detail.php
page1
page2
page3
如果字符串的开头或结尾存在/
,我希望将其删除。/在字符串中间是可以的。我总是困惑于创建这些类型的匹配字符串。
感谢
正则表达式如下:
preg_replace('^/+|/+$', '', $string);
但实际上你并不需要它,trim()
会在这种情况下完成任务:
trim($string, '/');
以"sed"形式提供给您:s/^[/]*(.*)[/]*$/$1/
将删除字符串前面和后面的任意数量的斜杠。内部斜线将保持不变。
您可能正在查找^
(匹配字符串开头(和$
(匹配字符串结尾(。
尝试这个
echo trim('/page1/' ,'/');
您可以使用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);