2016-10-17 6 views
-1

Ich möchte den abschließenden umgekehrten Schrägstrich aus einer Zeichenfolge entfernen, ohne stripslashes() oder str_replace() zu verwenden. Im Idealfall könnte ich rtrim() verwenden, aber es ist etwas über die Backslashes, die PHP ausflippt.entfernen Sie den umgekehrten Schrägstrich von Zeichenfolge

Im Idealfall würde die Zeichenfolge nur "This is my string" ohne den Backslash am Ende lesen. Ich bin nicht ganz sicher, wie man es richtig entkommt, jede Hilfe wird sehr geschätzt.

+1

Sie könnten gemeint haben $ string = "Dies ist mein String \\"; '. Um ein '' '' '' in einem PHP-String-Literal zu definieren, müssen Sie es verdoppeln. –

+0

Danke für Ihre Antwort. Die Zeichenkette wird nicht über Hardcode wie im obigen Beispiel erstellt. Sie nimmt eine CSV-Datei auf und teilt dann die entsprechenden Zeilen/Spalten auf. Die Zeichenkette repräsentiert den Wert, der sich in einer der "Zellen" der CSV –

+0

befindet Beide Methoden funktionieren gut. Das Problem ist der umgekehrte Schrägstrich in '$ string'. [Überprüfen Sie es] (http://sandbox.onlinephpfunctions.com/code/4f269e1b87d35d3001348e21fdaf0adfd892c7e2) –

Antwort

1

Versuchen Sie folgendes:

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

, wenn die Bedingung überprüft, ob das letzte Zeichen hat Slash oder nicht.

+0

Danke für die schnelle Antwort ... Das Problem ist, das ist für ein Import-Skript, und nicht jede Zeichenfolge wird den folgenden Backslash haben ... Ich möchte nicht die letzte Charta jedes Mal entfernen. –

+0

@NikoJohnson Aktualisiert die Antwort –

+0

Danke für die Korrektur .. Es scheint auch nicht der richtige Weg entgangen zu sein ... auch wenn ich –

0

Sie können preg_replace versuchen:

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

Der Schrägstrich wird entfernt bekommen, wenn Muster abgestimmt ist. Sie erhalten sonst die gleiche Zeichenfolge.

Verwandte Themen