So konvertieren Sie einen Teilstring einer bestimmten Länge in PHP in ein *-Zeichen

青灯夜游
Freigeben: 2023-03-11 22:40:01
Original
3116 Leute haben es durchsucht

Im vorherigen Artikel haben wir die Methode vorgestellt, bei der die Groß- und Kleinschreibung berücksichtigt wird, um das erste oder letzte Vorkommen einer Teilzeichenfolge in einer Zeichenfolge zu ermitteln und dann festzustellen, ob die Teilzeichenfolge vorhanden ist. Wenn Sie sie benötigen, lesen Sie bitte „PHP-Zeichen“ zum Erlernen von Zeichenfolgen Erkennen Sie, ob eine Teilzeichenfolge vorhanden ist (Groß- und Kleinschreibung beachten) 》. Dieses Mal führen wir Sie durch die String-Ersetzung und zeigen Ihnen, wie Sie mit PHP einen Teilstring einer bestimmten Länge durch ein *-Zeichen ersetzen.

PHP bietet mehrere Funktionen, die das Ersetzen von Zeichenfolgen durchführen können, ihre Ersetzungsmethoden sind jedoch unterschiedlich. Einige geben direkt die Teilzeichenfolge an, die ersetzt werden muss, und andere geben die Startposition der Ersetzung und die Länge der Ersetzung an. Heute lernen wir die letztere Methode kennen.

Schauen wir uns das folgende Beispiel an:

<?php
$str = &#39;hello,world,hello,world&#39;;
$replace = &#39;*&#39;;
echo substr_replace($str, $replace, 0,5)."<br>";
echo substr_replace($str, $replace, 6,5)."<br>";
?>
Nach dem Login kopieren

Wenn Sie sich diesen Code ansehen, was wird Ihrer Meinung nach ausgegeben? Sollen „*,world,hello,world“ und „hello,*,hello,world“ ausgegeben werden? Schauen wir uns die Ausgabe an: *,world,hello,world”和“hello,*,hello,world”,那对不对呢,我们来看看输出结果:

So konvertieren Sie einen Teilstring einer bestimmten Länge in PHP in ein *-Zeichen

是的,没错。在上例中,substr_replace()函数分别将字符串$str从第一个字符开始,有5个字符长度的子串“hello”和从第7个字符开始,有5个字符长度的子串“world”替换成了*号。

好了,了解了如何将某长度的子串换成*号,下面我们来了解一下实现这个功能的函数substr_replace()。

substr_replace($string,$replacement,$start,$length)函数接受了三个必需参数$string$replacement(替换值)和$start(替换开始的位置),一个可省略的参数$length(要替换的字符数目)。

substr_replace()函数可以在字符串 $string 的副本中将由 $start$length 参数限定的子字符串使用 $replacement 进行替换。

简单来说,就是使用$replacement值从$start位置开始(注,字符串位置起始于 0),替换$length数目的字符。

$start有三种取值情况:

  • 为正数,替换将从 $string 的 $start 位置开始。

  • 为0 ,替换将从 $string 的第一个字符处开始

  • 为负数,替换将从 $string 的倒数第 $start 个位置开始。

$length 参数有四种取值情况:

  • 为正数,就表示被替换的子字符串的长度。

  • 为负数,就表示待替换的子字符串结尾处距离 $string 末端的字符个数。

  • 为 0,那么substr_replace()函数就有了插入功能,会将 $replacement 插入$start So konvertieren Sie einen Teilstring einer bestimmten Länge in PHP in ein *-Zeichen

  • Ja Ja , das stimmt. Im obigen Beispiel ersetzt die Funktion substr_replace() die Zeichenfolge $str beginnend mit dem ersten Zeichen, die 5-stellige Teilzeichenfolge „hello“ und die Teilzeichenfolge beginnend mit dem ersten Ab 7 Zeichen wird der Teilstring „world“ mit einer Länge von 5 Zeichen durch die Zahl * ersetzt.
  • Okay, nachdem wir nun verstanden haben, wie man einen Teilstring einer bestimmten Länge durch ein *-Zeichen ersetzt, werfen wir einen Blick auf die Funktion substr_replace(), die diese Funktion implementiert.

substr_replace($string,$replacement,$start,$length)-Funktion akzeptiert drei erforderliche Parameter $string, $replacement (replacement value) und $start (die Position, an der die Ersetzung beginnt), ein wegzulassender Parameter $length (die Anzahl der zu ersetzenden Zeichen).


Die Funktion substr_replace() kann in einer Kopie der Zeichenfolge $string mit einer durch $start und $length qualifizierten Teilzeichenfolge verwendet werden Parameter< code>$replacement zum Ersetzen.

Um es einfach auszudrücken: Verwenden Sie den $replacement-Wert beginnend an der $start-Position (beachten Sie, dass die String-Position bei 0 beginntSo konvertieren Sie einen Teilstring einer bestimmten Länge in PHP in ein *-Zeichen), um $lengthAnzahl der Zeichen.

$start hat drei Wertsituationen:

    ist eine positive Zahl und die Ersetzung beginnt an der $start-Position von $string.

    ist 0, die Ersetzung beginnt beim ersten Zeichen von $string. 🎜🎜🎜🎜🎜 ist eine negative Zahl, die Ersetzung beginnt bei der letzten $start-Position von $string. Der Parameter 🎜🎜🎜🎜$length hat vier Werte: 🎜
      🎜🎜 ist eine positive Zahl, was bedeutet, dass das Unterzeichen ersetzt wird Die Länge der Zeichenfolge. 🎜🎜🎜🎜 ist eine negative Zahl, die die Anzahl der Zeichen vom Ende des zu ersetzenden Teilstrings bis zum Ende von $string angibt. 🎜🎜🎜🎜 ist 0, dann hat die Funktion substr_replace() eine Einfügefunktion und fügt $replacement an der Position $start ein. 🎜🎜🎜🎜🎜Wenn dieser Parameter weggelassen wird, ist der Standardwert strlen(string) (die Länge des Strings), der den gesamten Teilstring beginnend mit der $start-Position ersetzt. 🎜🎜🎜
      <?php
      $str = &#39;hello,world,hello,world&#39;;
      $replace = &#39;*&#39;;
      echo substr_replace($str, $replace, 0,-5)."<br>";
      echo substr_replace($str, $replace, -5,5)."<br>";
      echo substr_replace($str, $replace, 6)."<br>";
      ?>
      Nach dem Login kopieren
      🎜Ausgabeergebnis: 🎜🎜🎜🎜🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜 Abschließend empfehle ich die Lektüre eines klassischen Kurses „🎜PHP String Processing (Jade Girl Heart Sutra Edition)🎜“, er ist kostenlos~ Kommen Sie und lernen Sie! 🎜

      Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen Teilstring einer bestimmten Länge in PHP in ein *-Zeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!