PHP删除字符串中的字符

Zer*_*ool 38 php string

我的PHP很弱,我正在尝试更改此字符串:

http://www.example.com/backend.php?/c=crud&m=index&t=care
                                   ^
Run Code Online (Sandbox Code Playgroud)

成为:

http://www.example.com/backend.php?c=crud&m=index&t=care
                                  ^
Run Code Online (Sandbox Code Playgroud)

删除/之后backend.php?.有关最佳方法的任何想法吗?

谢谢!

CMS*_*CMS 114

我认为使用简单的str_replace更好,就像手册中说的那样:

如果您不需要花哨的替换规则(如正则表达式),则应始终使用此函数而不是ereg_replace()或preg_replace().

<?
$badUrl = "http://www.site.com/backend.php?/c=crud&m=index&t=care";
$goodUrl = str_replace('?/', '?', $badUrl);
Run Code Online (Sandbox Code Playgroud)


eye*_*ess 8

$str = preg_replace('/\?\//', '?', $str);
Run Code Online (Sandbox Code Playgroud)

编辑:请参阅CMS的回答.已经很晚了,我应该知道的更好.

  • str_replace比正则表达式快得多. (3认同)
  • @Pestilence,这就是我推荐 CMS 答案的原因。 (2认同)