Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse von Problemen, die durch die Verwendung der PHP-Trim-Methode verursacht werden

Analyse von Problemen, die durch die Verwendung der PHP-Trim-Methode verursacht werden

不言
不言nach vorne
2019-04-13 11:46:152617Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Analyse von Problemen, die durch die Verwendung der PHP-Trim-Methode verursacht werden. Ich hoffe, dass er für Freunde in Not hilfreich ist.

Szenario

Die Zeichen vor und nach der abgefangenen Zeichenfolge in PHP umfassen: ltrim, rtrim, trim drei Methoden

Im folgenden Beispiel wird nur die ltrim-Methode verwendet ein Beispiel
Nach meinem bisherigen Verständnis (natürlich bin ich sehr unwissend und habe diesen Quellcode noch nie gesehen) verwende ich, wenn ich leere Zeichenfolgen, leere Tabulatoren usw. auf der linken Seite der Zeichenfolge löschen möchte ltrim direkt. ($str) kann

Wenn ich beispielsweise bestimmte Zeichen löschen möchte, gibt es jetzt eine Zeichenfolge „Hallowelt“ und ich möchte das h-Zeichen am Kopf direkt abfangen var_dump(ltrim(" helloworld", " h")); kann das von elloworld erwartete Ergebnis ausgeben
Die oben genannten liegen alle innerhalb des Bereichs, den ich dachte, und ich habe es immer auf diese Weise verwendet, bis wir eines Tages die Notwendigkeit hatten, einige auszudrucken strings Führen Sie nach der Verschlüsselung eine Base64-Operation durch und verbinden Sie diese dann mit unserem speziellen String-Präfix KO:. Entfernen Sie nach Abschluss jeder Verschlüsselung zuerst das KO: und entschlüsseln Sie es Das Ergebnis ist, dass das Entschlüsselungsergebnis wie folgt lautet: Egal wie ich es gelöst habe, es ist fehlgeschlagen. Dann habe ich ein paar Haltepunkte erstellt und festgestellt, dass das Ergebnis bei Verwendung von ltrim

Recurrence

<?php
// 以下做一个简单的情景复现

$str = "abccabdefg";
$character_mask = “abc”;    

var_dump(ltrim($str,  $character_mask));    // 输出结果为 bdefg,而不是只截取前三位的abc
war

Ursachenanalyse

Nach der obigen Demo mit kleinen Schritten sollten Sie den Grund kennen. Der einfachste und beliebteste Weg besteht darin, ein Rotationstraining für den vorherigen $str durchzuführen, Zeichen für Zeichen, und zu prüfen, ob Wenn ja, fahren Sie mit Intercept fort und beenden Sie die Ausführung, wenn es nicht vorhanden ist besteht darin, einige String-Manipulationsfunktionen in PHP zu verwenden und grundlegendere Urteile hinzuzufügen

<?php 

$str = "abcccabdecbag";

$res = '';
$character_mask = 'abc';

$arrStr = str_split($str);        // 字符串转数组

for ($i=0; $i<=count($arrStr); $i++) {
        if(strpos($character_mask, $arrStr[$i]) !== false) {
                unset($arrStr[$i]);
        } else {
                break;
        }
}

echo ltrim($str, $character_mask);
echo "\r\n";
echo implode($arrStr);
echo "\r\n";

Das obige ist der detaillierte Inhalt vonAnalyse von Problemen, die durch die Verwendung der PHP-Trim-Methode verursacht werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen