我很难绕过正则表达式,我正在尝试删除字符串中的最后一个正斜杠:
$public_url = "https://api.mongohq.com/";
我打算删除最后一个正斜杠并将其替换为其他内容。我想我可以使用preg_replace
,但我找不到正确的模式。
我很难绕过正则表达式,我正在尝试删除字符串中的最后一个正斜杠:
$public_url = "https://api.mongohq.com/";
我打算删除最后一个正斜杠并将其替换为其他内容。我想我可以使用preg_replace
,但我找不到正确的模式。
$
在字符串末尾锚定正则表达式模式:
$public_url = preg_replace('#/$#', 'replace it!', $public_url);
也可以:
$public_url = rtrim($public_url, '/').'replace it!';
您可以使用否定的后备表达式:
<?php
$public_url = "https://api.mongohq.com/";
$replace = "foobar";
echo preg_replace("~\/(?!.*\/)~", $replace, $public_url);
?>
输出:
https://api.mongohq.comfoobar
更新:
使用以下正则表达式来避免最后一个斜杠后面的字符出现问题:
echo preg_replace("~\/(?!.*\/)(.*)~", $replace, $public_url);
最后一个斜线后面的所有字符也被替换。感谢针织!