Aktueller Standort: Startseite> Neueste Artikel> Wie benutzt ich MB_Stristal, um festzustellen, ob ein Substring in einer Zeichenfolge vorhanden ist? Detailliertes Tutorial

Wie benutzt ich MB_Stristal, um festzustellen, ob ein Substring in einer Zeichenfolge vorhanden ist? Detailliertes Tutorial

M66 2025-06-26

Wie benutzt ich MB_Stristal , um festzustellen, ob ein Substring in einer Zeichenfolge vorhanden ist? Detailliertes Tutorial

In PHP ist die String Manipulation eine häufige Aufgabe. Unabhängig davon, ob Sie Benutzereingaben verarbeiten, Dateiinhalte verarbeiten oder Netzwerkanforderungen analysieren, müssen Sie häufig Zeichenfolgen finden oder manipulieren. In der Umgebung mit Multi-Byte-Codierung (z. B. UTF-8) können Standard-String-Funktionen bestimmte Sonderzeichen möglicherweise nicht korrekt verarbeiten, und zu diesem Zeitpunkt wird MB_STRISTR zu einem sehr praktischen Werkzeug.

Was ist MB_Stristal ?

MB_STRSTR ist eine Funktion, die durch Multi-Byte-String-Erweiterung (Mbstring) in PHP bereitgestellt wird. Seine Funktion ähnelt STRIR in PHP und wird verwendet, um zu ermitteln, ob ein anderes Substring in einer Zeichenfolge vorhanden ist, es jedoch speziell für Multibyte-Zeichensätze wie UTF-8 oder andere Nicht-ASCII-Codierungen verwendet wird.

  • Funktion : Finden Sie, ob die Zielzeichenfolge das angegebene Substring enthält, das den Fall ignoriert.

  • Rückgabewert : Wenn das Substring existiert, gibt das Teil das erste Vorkommen des Substrings bis zum Ende der Zeichenfolge zurück; Wenn das Substring nicht existiert, gibt es falsch zurück.

Wie benutze ich MB_Stristal ?

Die grundlegende Syntax der MB_STRIST -Funktion lautet wie folgt:

 <span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$before_needle</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ haystack : Die Zielzeichenfolge, die die große Zeichenfolge ist, nach der Sie suchen möchten.

  • $ nadel : Das zu findene Substring.

  • $ vor_needle : Optionaler Parameter, falls auf TRUE eingestellt, gibt das Teil vor, bevor das Substring zum ersten Mal angezeigt wird. Die Standardeinstellung ist falsch und zeigt an, dass das Teil des ersten Auftretens des Substring bis zum Ende der Zeichenfolge.

  • $ codierung : Optionaler Parameter, Zeichencodierung angeben. Standardmäßig verwendet MB_Stristum die Einstellungen für die Codierungseinstellungen für interne Zeichen.

Beispiel: Einfache Verwendung

Angenommen, Sie haben eine Zeichenfolge und müssen herausfinden, ob sie ein bestimmtes Substring enthält.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"WillkommenPHPDie Welt der Programmierung!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"PHP"</span></span><span>;

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Fand das Substring!sich herausstellen:"</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Kein Substring gefunden。"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Im obigen Code verwenden wir MB_STRSTR , um herauszufinden, ob die Substring $ -Nadel (d. H. "PHP") im String $ Haystack enthalten ist. Wenn gefunden wird der Teil, der von "PHP" bis zum Ende der Zeichenfolge beginnt, zurückgegeben. Wenn nicht gefunden, wird Falsch zurückgegeben.

Die Ausgabe wird sein:

 <span><span>Fand das Substring!sich herausstellen:PHPDie Welt der Programmierung!
</span></span>

Fall ignorieren

Ähnlich wie bei Strrist ist MB_Stristal ebenfalls unempfindlich, was bedeutet, dass es den Fall von Zeichen ignoriert. Wenn $ nadel der Kleinbuchstaben "PHP" oder der Großbuchstaben "PHP" ist, finden Sie dennoch das entsprechende Substring.

Beispielsweise findet der folgende Code auch das Substring:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"WillkommenphpDie Welt der Programmierung!"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"PHP"</span></span><span>;

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Fand das Substring!sich herausstellen:"</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Kein Substring gefunden。"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Finden Sie Multibyte -Zeichen mit MB_STRISTR

Beim Umgang mit UTF-8-Zeichenfolgen kann Standard- STRIRS möglicherweise keine Multibyte-Zeichen korrekt behandeln, und MB_Stristal kann dieses Problem vermeiden. Bei der Verarbeitung chinesischer Zeichen kann MB_Stristr beispielsweise die Charaktersuche korrekt ausführen.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Dies ist eine chinesische Testzeichenfolge"</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"chinesisch"</span></span><span>;

</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Fand das Substring!sich herausstellen:"</span></span><span> . </span><span><span class="hljs-variable">$result</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Kein Substring gefunden。"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Die Ausgabe wird sein:

 <span><span>Fand das Substring!sich herausstellen:chinesisch测试字符串
</span></span>

Zusammenfassung

MB_STRSTR ist eine leistungsstarke Multibyte-String-Lookup-Funktion, die insbesondere für die Handhabung von Saiten geeignet ist, die UTF-8 oder andere Nicht-ASCII-Zeichensets sind. Es ist sehr ähnlich wie bei der Strrist -Funktion. Der Hauptunterschied besteht darin, dass es Multibyte -Zeichen verarbeiten kann und die Probleme vermeiden, die durch Inkompatibilität bei Charaktern verursacht werden.

Durch die korrekte Verwendung von MB_STRSTR können Sie leicht erkennen, ob eine Zeichenfolge ein angegebenes Substring enthält und nicht durch Zeichenfall oder Zeichencodierung beeinflusst wird. Hoffentlich können Sie durch dieses Tutorial besser verstehen, wie Sie MB_Strist in PHP für die String -Suche verwenden.