PHP - 从URL的尾端删除正斜杠

11 php

下面的代码从输入数据库的网站的开头删除"www."等.它很棒.

有没有办法我可以使用类似的代码从输入到同一数据库的网站的尾端删除正斜杠?

提前致谢,

约翰

$remove_array = array('http://www.', 'http://', 'https://', 'https://www.', 'www.');
$site = str_replace($remove_array, "", $_POST['site']);
Run Code Online (Sandbox Code Playgroud)

Dan*_*uis 41

您可以将要剪切掉字符串的字符串传递给trim函数族.此外,您可以使用rtrim修剪字符串的结尾:

$site = rtrim($site, "/");
Run Code Online (Sandbox Code Playgroud)

  • 另外,rtrim删除所有尾部斜杠$ site ='http://foo.bar//////",而正则表达式只删除一个尾部斜杠. (7认同)
  • regexps是大炮,尾随斜线是麻雀.altough我删除的不仅仅是尾部斜杠,例如空格,制表符和换行符:$ site = rtrim($ site,"/\t \n\r"); (5认同)
  • 这应该是公认的答案。除非确实需要,否则不要使用正则表达式。 (2认同)

Joh*_*ica 21

$site = preg_replace('{/$}', '', $site);
Run Code Online (Sandbox Code Playgroud)

这使用相对简单的正则表达式.该$方法仅匹配字符串末尾的斜杠,因此它不会删除第一个斜杠stackoverflow.com/questions/.花括号{}只是分隔符; PHP需要匹配字符以及正则表达式的正面和背面,这有些愚蠢的原因.


小智 5

最简单的方法:

$url = rtrim($url,'/');
Run Code Online (Sandbox Code Playgroud)