Мне трудно найти регулярные выражения, и я пытаюсь удалить последнюю косую черту в строке:
$public_url = "https://api.mongohq.com/";
Я намерен удалить последнюю косую черту и заменить ее чем-то другим. Я решил, что могу использовать preg_replace
но я не могу найти правильный шаблон для этого.
Вы можете использовать отрицательное выражение-выражение:
<?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);
Все символы за последней косой чертой также заменяются. Благодаря knittl!
$
привязывает шаблоны регулярных выражений в конце строки:
$public_url = preg_replace('#/$#', 'replace it!', $public_url);
Также возможно:
$public_url = rtrim($public_url, '/').'replace it!';