удалить обратную косую черту из строки

Я хотел бы удалить обратную косую черту из строки без использования stripslashes() или же str_replace(), В идеале я мог бы использовать rtrim(), но что-то насчет обратной косой черты, которая приводит в бешенство PHP.

$string = "This is my string\";

//iv'e tried with no success
$clean_string = rtrim($string, "\\");
$clean_string = rtrim($string, "\\\\");

В идеале строка должна выглядеть так: «Это моя строка» без обратной косой черты в конце. Я не совсем уверен, как избежать этого должным образом, любая помощь очень ценится.

-1

Решение

Попробуй это:

 if(substr($string, -1) == "\"){
echo substr($string, 0, -1);
}

условие if проверяет, есть ли у последнего символа косая черта или нет.

1

Другие решения

Вы можете попробовать preg_replace:

$string = 'This is my string\\';
$clean_string = preg_replace('/(.+)(\\\\)$/', '${1}', $string);

Конечный слеш будет удален, если шаблон соответствует. В противном случае вы получите ту же строку.

0