Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie englische Satzzeichen in PHP

So entfernen Sie englische Satzzeichen in PHP

青灯夜游
青灯夜游Original
2022-05-25 20:24:251807Durchsuche

Entfernungsmethode: Verwenden Sie die Funktion preg_replace() mit dem regulären Ausdruck „/[[:punct:]]/i“, um alle englischen Satzzeichen in der Zeichenfolge zu finden und sie durch leere Zeichen zu ersetzen; /[[:punct:]]/i', '', $str)".

So entfernen Sie englische Satzzeichen in PHP

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

In PHP können Sie die Funktion preg_replace() mit regulären Ausdrücken verwenden, um englische Satzzeichen in Zeichenfolgen zu entfernen.

Verwenden Sie einfach die Funktion preg_replace(), um englische Satzzeichen durch leere Zeichenfolgen zu ersetzen.

Der verwendete reguläre Ausdruck ist: /[[:punct:]]/i

Beispiel: Entfernen Sie nur englische Satzzeichen und behalten Sie andere Zeichen (einschließlich chinesischer Satzzeichen) bei.

<?php
header("Content-type:text/html;charset=utf-8");
$str = "12!@78#9$%^56&78*9()0.8,7<>8|3[]8&#39;45\"67!【】“45”‘67’"; 
echo "原字符串:".$str."<br><br>";
$Newstr=preg_replace(&#39;/[[:punct:]]/i&#39;,&#39;&#39;,$str);
echo "处理后:".$Newstr;
?>

So entfernen Sie englische Satzzeichen in PHP

Erklärung: Die Funktion preg_replace() kann reguläre Ausdrücke ausführen Suche und Ersatz.

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])

Wenn $subject ein Array ist, gibt die Funktion preg_replace() ein Array zurück, andernfalls gibt sie einen String zurück.

Wenn die Funktion preg_replace() eine Übereinstimmung findet, gibt sie das ersetzte $subject zurück, ansonsten das unveränderte $subject. Jeder Parameter der Funktion preg_replace() (außer dem Parameter $limit) kann ein Array sein. Wenn der Parameter $pattern und der Parameter $replacement beide Arrays sind, verarbeitet die Funktion die Schlüssel in der Reihenfolge, in der sie im Array erscheinen. Tritt ein Fehler auf, wird NULL zurückgegeben.

Der Parameter $replacement kann Rückverweise \n oder $n enthalten, letzteres wird syntaktisch bevorzugt. Jeder dieser Verweise wird durch den Text ersetzt, der von der n-ten übereinstimmenden Erfassungsuntergruppe erfasst wurde. n kann zwischen 0 und 99 liegen, wobei \0 und $0 den vollständigen Mustervergleichstext darstellen.

Die Methode zur Zählung der Seriennummern zum Erfassen von Untergruppen lautet: Die linke Klammer, die die erfassende Untergruppe darstellt, wird von links nach rechts beginnend bei 1 gezählt. Wenn Sie Backslashes in $replacement verwenden möchten, müssen Sie 4 ("\\" verwenden, da dies zuerst ein PHP-String ist, dann zwei nach dem Escapezeichen und dann als Originaltext betrachtet wird, nachdem er den Backslash der regulären Ausdrucks-Engine durchlaufen hat).

Wenn Sie im Ersetzungsmodus arbeiten und auf den Rückverweis eine andere Zahl folgen muss (zum Beispiel: Hinzufügen einer ursprünglichen Zahl direkt nach einem passenden Muster), können Sie keine Syntax wie \1 verwenden, um den Rückverweis zu beschreiben. Beispielsweise führt \11 dazu, dass preg_replace() nicht verstehen kann, ob eine \1-Rückreferenz gefolgt von einer ursprünglichen 1 oder eine \11-Rückreferenz gefolgt von nichts gewünscht wird. Die Lösung besteht in diesem Fall darin, ${1}1 zu verwenden. Dadurch wird eine separate Rückreferenz für $1 erstellt, eine separate Rückreferenz für Quelle 1.

Bei Verwendung des veralteten e-Modifikators maskiert diese Funktion einige Zeichen (z. B. ', " und NULL) und führt dann eine Rückreferenzersetzung durch. Wenn dies erledigt ist, stellen Sie bitte sicher, dass nach dem Parsen keine durch Single verursachten Rückreferenzen vorhanden sind Anführungszeichen oder doppelte Anführungszeichen (zum Beispiel: 'strlen('$1')+strlen("$2")' Stellen Sie sicher, dass Sie die Zeichenfolgensyntax von PHP einhalten und die Eval-Syntax einhalten die eval-Methode, um die Ergebniszeichenfolge als PHP-Code auszuwerten und den Rückgabewert als endgültige zu ersetzende Zeichenfolge zu verwenden

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo entfernen Sie englische Satzzeichen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn