Wie entferne ich ETX-Zeichen vom Ende eines Strings? (Regex oder PHP)

8

Wie kann ich das ETX-Zeichen (0x03) vom Ende einer Zeichenkette entfernen? Ich würde entweder eine Funktion mögen, ansonsten kann ich einen regulären Ausdruck schreiben, alles was ich wissen möchte ist, wie man das ETX-Zeichen in einem regulären Ausdruck anpasst? trim() funktioniert nicht.

    
Click Upvote 27.09.2011, 01:12
quelle

4 Antworten

8

Um Charles 'Antwort zu vervollständigen, hatte ich einen Fall, in dem das ETX-Zeichen nicht am Ende der Zeile war, daher musste ich den folgenden Code verwenden:

%Vor%

Entfernen Sie einfach das $ -Zeichen.

    
Vincent Marmiesse 24.03.2014, 12:35
quelle
1

Hast du die rtrim-Funktion ausprobiert?

Ссылка

    
junedkazi 27.09.2011 01:20
quelle
1

Der ETX ist ein Kontrollzeichen, was bedeutet, dass wir einige zusätzliche Anstrengungen unternehmen müssen es existiert.

Von der interaktiven PHP-Eingabeaufforderung:

%Vor%

Mit anderen Worten, Sie können das Zeichen einfach in die Regex-Zeichenfolge einfügen. Nun, diese könnte fehlschlagen. Diese Technik kann aufgrund von Zeichensätzen und anderen schrecklichen Dingen fehlschlagen.

Zusätzlich zu chr(3) kannst du urldecode('%03') auch versuchen, das Zeichen zu erstellen. Sie können auch eine spezielle Escape-Syntax verwenden, die auf den PCRE-Syntaxseiten aufgeführt ist: /\x03$/

Hier ist eine Funktion für Sie, die die letzte Methode verwendet:

%Vor%     
Charles 27.09.2011 03:36
quelle
0

Bei einer Schätzung rtrim ($ var, "\ c"); oder preg_replace ("/ \ c + \ $ /", "", $ var);

    
barryhunter 27.09.2011 03:03
quelle