Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie reguläre Regeln, um Zeichen in einer Zeichenfolge in PHP auszuschließen

So verwenden Sie reguläre Regeln, um Zeichen in einer Zeichenfolge in PHP auszuschließen

青灯夜游
青灯夜游Original
2022-12-15 15:30:295523Durchsuche

Zwei Methoden: 1. Verwenden Sie preg_replace(), um die Suche und Ersetzung regulärer Ausdrücke durchzuführen. Ersetzen Sie einfach die übereinstimmenden Zeichen in der Zeichenfolge durch Nullzeichen. Die Syntax lautet „preg_replace(regular, „“, $str )“. 2. Verwenden Sie preg_match_all(), um nach allen Ergebnissen zu suchen, die mit dem regulären Ausdruck in der Zeichenfolge übereinstimmen. Die Syntax lautet „preg_match_all(regular, $str, $array);“

So verwenden Sie reguläre Regeln, um Zeichen in einer Zeichenfolge in PHP auszuschließen

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

Was ist ein regulärer Ausdruck?

Ein regulärer Ausdruck ist eine logische Formel für Zeichenfolgenoperationen Verwenden Sie einige vordefinierte spezifische Zeichen und Kombinationen dieser spezifischen Zeichen, um eine „Regelzeichenfolge“ zu bilden. Diese „Regelzeichenfolge“ wird verwendet, um eine Filterlogik für Zeichenfolgen auszudrücken.

Reguläre Ausdrücke erstellen Muster nach bestimmten Regeln, vergleichen sie mit den eingegebenen Zeichenfolgeninformationen und verwenden sie in bestimmten Funktionen, um Vorgänge wie Zeichenfolgenabgleich, Suche, Ersetzung und Segmentierung durchzuführen.

php verwendet reguläre Ausdrücke, um Zeichenfolgen zu filtern.

In PHP können Sie reguläre Ausdrücke verwenden, um Zeichenfolgen zu filtern, bestimmte Zeichen auszuschließen (zu löschen) oder zu extrahieren.

Methode 1. Verwenden Sie die Funktion preg_replace().

Die Funktion preg_replace() kann die Suche und Ersetzung regulärer Ausdrücke durchführen und ist eine leistungsstarke Verarbeitungsfunktion für das Ersetzen von Zeichenfolgen.

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
  • bedeutet, nach dem Teil des Betreffs zu suchen, der dem Muster entspricht, und ihn durch Ersetzung zu ersetzen; der optionale Parameter limit wird verwendet, um die maximale Anzahl von Ersetzungen festzulegen (der Standardwert ist -1, unbegrenzt).

Beispiel:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);  
$str =&#39;0我是123456一段测试的字789符串0&#39;;
echo "原字符串:".$str."<br>";
$result = preg_replace("/[^0-9]/", "", $str);
echo "过滤后字符串:".$result;
?>

preg_replace("/[^0-9]/", "", $str) bedeutet Übereinstimmung außer 0~9 und Ersetzen Sie diese Zeichen durch Nullzeichen (d. h. löschen Sie diese Zeichen), dann bleiben nur numerische Zeichen übrig: preg_replace("/[^0-9]/", "", $str)的意思为匹配除了0~9间的数字以外的字符,并将这些字符替换为空字符(即删除这些字符),那么就只剩下数字字符了:

So verwenden Sie reguläre Regeln, um Zeichen in einer Zeichenfolge in PHP auszuschließen

方法2:使用preg_match_all()函数

preg_match_all()函数可以搜索字符串中所有可以和正则表达式匹配的结果,是一个执行全局正则表达式匹配的函数,它的语法格式为:

preg_match_all($pattern, $subject [, &$matches [, $flags = PREG_PATTERN_ORDER [, $offset = 0 ]]])
  • $pattern    正则表达式    

  • $subject    进行匹配的字符串    

  • $matches    所有匹配结果(数组)    

preg_match_all() 将实现全部结果的匹配,如果想要匹配成功一次后停止匹配,需要使用 preg_match() 函数。

示例:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);  
$str =&#39;0我是123456一段测试的字789符串0&#39;;
echo "原字符串:".$str."<br><br>";

$result = &#39;&#39;;
preg_match_all(&#39;/\d+/&#39;,$str,$array);
echo "过滤结果:";
var_dump($array);


foreach($array as $arr){
	foreach($arr as $value){
		$result .= $value;
	}
}
echo "过滤后字符串:".$result;
?>

preg_match_all('/d+/',$str,$array)的意思为在字符串$str中多次查找只包含0~9间数字字符的子串,将每次的匹配结果放在一个数组$array中。我们使用var_dump($array)来输出这个数组看看:

So verwenden Sie reguläre Regeln, um Zeichen in einer Zeichenfolge in PHP auszuschließen

会发现结果数组$array

So verwenden Sie reguläre Regeln, um Zeichen in einer Zeichenfolge in PHP auszuschließen

So verwenden Sie reguläre Regeln, um Zeichen in einer Zeichenfolge in PHP auszuschließen

Methode 2: Verwenden Sie die Funktion preg_match_all()

preg_match_all(), um nach Zeichen zu suchen. Alle Ergebnisse in der Zeichenfolge, die möglich sind „Match the Regular Expression“ ist eine Funktion, die einen globalen Vergleich regulärer Ausdrücke durchführt )

🎜🎜🎜preg_match_all() gleicht alle Ergebnisse ab. Wenn Sie den Abgleich nach einem erfolgreichen Abgleich beenden möchten, müssen Sie die Funktion preg_match() verwenden. 🎜🎜Beispiel: 🎜
foreach($array as $arr){
	foreach($arr as $value){
		$result .= $value;
	}
}
echo "过滤后字符串:".$result;
🎜preg_match_all('/d+/',$str,$array) bedeutet, dass mehrere Suchvorgänge in der Zeichenfolge $str nur 0~9 A enthalten Teilzeichenfolge numerischer Zeichen zwischen code>, und jedes übereinstimmende Ergebnis wird in einem Array $array platziert. Lassen Sie uns var_dump($array) verwenden, um dieses Array auszugeben und zu sehen: 🎜🎜So verwenden Sie reguläre Regeln, um Zeichen in einer Zeichenfolge in PHP auszuschließen🎜🎜Sie werden feststellen, dass das Ergebnisarray $array ein zweidimensionales Array ist und die Elemente die passenden Ergebnisse enthalten sind die inneren Arrays. Wenn Sie diese Elemente zu einer Zeichenfolge zusammenfügen möchten, müssen Sie zwei Ebenen von foreach-Schleifen verschachteln: 🎜rrreee🎜🎜🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Regeln, um Zeichen in einer Zeichenfolge in PHP auszuschließen. 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