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

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

$string = "This is my string\";

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

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

2 ответа

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

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

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

Это сработало для меня:

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

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

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

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

Другие вопросы по тегам