字符串模式匹配

发布于 2024-12-08 18:33:42 字数 518 浏览 0 评论 0原文

可能的重复:
PHP 如何删除字符串末尾和开头的额外字符

我有这样的字符串:

输入:

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

输出:

help/detail.php
page1
page2
page3

我想删除 /来自字符串(如果它存在于开头)或者最后。 / 放在字符串中间就可以了。我总是对创建这些类型的匹配字符串感到困惑。

谢谢

Possible Duplicate:
PHP how to remove extra characters at the end and beginning of a string

I have strings like these :

input:

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

output:

help/detail.php
page1
page2
page3

I want to remove / from a string if it exists in the beginning or in the end. / in the middle of the string is OK. I am always confused creating these type of matching string.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

ペ泪落弦音 2024-12-15 18:33:42

正则表达式是这样的:

preg_replace('^/+|/+

但你实际上不需要它, trim( ) 在这种情况下将完成这项工作:

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

但你实际上不需要它, trim( ) 在这种情况下将完成这项工作:

The regular expression would be this:

preg_replace('^/+|/+

But you actually don't need it, trim() will do the job in this case:

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

But you actually don't need it, trim() will do the job in this case:

余生再见 2024-12-15 18:33:42

以“sed”形式提供: s/^[/]*(.*)[/]*$/$1/ 将删除字符串后面前面的任何数量的斜杠。内部斜线将保持不变。

Given to you in "sed" form: s/^[/]*(.*)[/]*$/$1/ will remove any numbers of slashes in front of after the string. Inner slashes will be left untouched.

浮华 2024-12-15 18:33:42

您可能正在寻找 ^ (匹配字符串的开头)和 $ (匹配字符串的结尾)。

You are probably looking for ^ (matches beginning of a string) and $ (matches end of string).

酒浓于脸红 2024-12-15 18:33:42

试试这个

 echo trim('/page1/' ,'/');

try this

 echo trim('/page1/' ,'/');
于我来说 2024-12-15 18:33:42

为此,您可以使用 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);

You can use strpos, strrpos and substr for this.

$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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文