heim - Einstellungen
Funktionen zum Arbeiten mit Strings in PHP. Funktionen zum Arbeiten mit Strings in PHP PHP-Funktion strtoupper – wandelt einen String in Großbuchstaben um

Länge in Zeichen (7)

=> string(141) bedeutet, dass $message ein Array ist, daher sollten Sie strlen($message) ausführen.< 141 ...

Ich habe eine Zeichenfolge, die 141 Zeichen lang ist. Mit dem folgenden Code habe ich eine if-Anweisung, die eine Nachricht zurückgibt, wenn die Zeichenfolge größer oder kleiner als 140 ist.

Libxml_use_internal_errors(TRUE); $dom = new DOMDocument(); $dom->loadHTMLFile($source); $xml = simplexml_import_dom($dom); libxml_use_internal_errors(FALSE); $message = $xml->xpath("//div[@class="contest"]"); if (strlen($message)< 141) { echo "There Are No Contests."; } elseif(strlen($message) >142) ( echo „Es gibt einen aktiven Wettbewerb.“; )

Ich habe var_dump in $message verwendet und es zeigt string => string(141), das ist mein Problem. Wenn ich die Zahlen für die if-Anweisung in ändere<130 и>131, es gibt immer noch die 1. Nachricht zurück, auch wenn die Zeile größer als 131 ist. Egal welche Zahl ich verwende, die kleiner als 141 ist, ich bekomme immer „Kein Wettbewerb“. kam zu mir zurück.

=> string(141) bedeutet, dass $message ein Array und kein String ist und $message ein String mit 141 Zeichen Länge ist

xpath gibt keinen String zurück. Es gibt ein Array mit XML-Elementen zurück, die an einen String gesendet werden können.

If (count($message)) ( if (strlen((string)$message)< 141) { echo "There Are No Contests."; } else if(strlen((string)$message) >142) ( echo „Es gibt einen aktiven Wettbewerb.“; ) )

Versuchen Sie es stattdessen mit der allgemeinen Syntax:

If (strlen($message)<140) { echo "less than 140"; } else if (strlen($message)>140) ( echo „mehr als 140“; ) else ( echo „genau 140“; )

Weil $xml->xpath immer zurückkehrt Array , strlen wartet Linie .

Ich hatte damit Probleme und beschloss schließlich, meine eigene Lösung zu entwickeln. Ohne die Engine für reguläre Ausdrücke zu verwenden:

Funktion enthält($text, $word) ( $found = false; $spaceArray = explosion(" ", $text); $nonBreakingSpaceArray = explosion(chr(160), $text); if (in_array($word, $spaceArray ) ||. in_array($word, $nonBreakingSpaceArray)) ( $found = true; ) return $found )

Möglicherweise stellen Sie fest, dass die vorherigen Lösungen nicht die Antwort auf die Verwendung eines Wortes als Präfix für ein anderes sind. Um Ihr Beispiel zu verwenden:

$a = „Wie geht es dir?“; $b = „ein Rock, der ab der Taille ausgestellt wird“; $c = "sind";

In den obigen Beispielen enthalten sowohl $a als auch $b $c , aber Sie möchten möglicherweise, dass Ihre Funktion Ihnen mitteilt, dass nur $a $c enthält.

Fügt vor jedem Zeilenvorschub HTML-Zeilenumbruchcode ein

  • number_format – Formatiert eine Zahl mit Gruppentrennung
  • ord – Gibt den ASCII-Code eines Zeichens zurück
  • parse_str – Analysiert einen String in Variablen
  • print – Druckt eine Zeichenfolge
  • printf
  • quoted_printable_decode – Dekodiert eine Zeichenfolge, die von der zitierten druckbaren Methode codiert wurde
  • quotemeta – Entgeht Sonderzeichen
  • rtrim – Entfernt Leerzeichen vom Ende einer Zeichenfolge
  • sha1 – Gibt den SHA1-Hash einer Zeichenfolge zurück
  • sha1_file – Gibt den SHA1-Hash einer Datei zurück
  • ähnlicher_text – Berechnet den Grad der Ähnlichkeit zweier Zeichenfolgen
  • soundex – Gibt den Soundex-Schlüssel für eine Zeichenfolge zurück
  • sprintf
  • sscanf – Analysiert eine Zeichenfolge gemäß einem bestimmten Format
  • strcasecmp – String-Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung, der binärsicher ist
  • strcmp – Binärsicherer String-Vergleich
  • strcoll – Strings basierend auf dem aktuellen Gebietsschema vergleichen
  • strcspn – Gibt die Länge des Teils am Anfang der Zeichenfolge zurück, der nicht mit der Maske übereinstimmt
  • stripcslashes – Entfernt Zeichen-Escapezeichen, die durch die Funktion addcslashes() erzeugt werden
  • Stripos – Gibt die Position des ersten Vorkommens einer Teilzeichenfolge zurück, ohne Berücksichtigung der Groß- und Kleinschreibung
  • stripeslashes – Entfernt Zeichen-Escapezeichen, die durch addslashes() erzeugt werden
  • strip_tags – Entfernt HTML- und PHP-Tags aus einer Zeichenfolge
  • stristr – Ähnlich der strstr-Funktion, jedoch unabhängig von der Groß- und Kleinschreibung
  • strlen – Gibt die Länge einer Zeichenfolge zurück
  • strnatcasecmp – Vergleichen Sie Zeichenfolgen ohne Berücksichtigung der Groß-/Kleinschreibung mithilfe eines Algorithmus
  • strnatcmp – Vergleichen von Zeichenfolgen mithilfe des Algorithmus „natürliche Reihenfolge“.
  • strncasecmp
  • strncmp – Vergleich der ersten n Zeichen von Zeichenfolgen ohne Berücksichtigung der Groß- und Kleinschreibung
  • strpos – Findet das erste Vorkommen eines Teilstrings in einem String
  • strhrchr
  • strrev – Kehrt einen String um
  • strripos – Gibt die Position des letzten Vorkommens einer Teilzeichenfolge zurück, ohne Berücksichtigung der Groß- und Kleinschreibung
  • strrpos – Findet das letzte Vorkommen eines Zeichens in einer Zeichenfolge
  • strspn – Gibt die Länge des Teils am Anfang der Zeichenfolge zurück, die der Maske entspricht
  • strstr – Findet das erste Vorkommen einer Teilzeichenfolge
  • strtok – Teilt einen String
  • strtolower – Konvertiert eine Zeichenfolge in Kleinbuchstaben
  • strtoupper – Konvertiert einen String in Großbuchstaben
  • strtr – Konvertiert angegebene Zeichen
  • str_ireplace – Eine Variante der Funktion str_replace(), bei der die Groß-/Kleinschreibung nicht beachtet wird.
  • str_pad – Füllt einen String mit einem anderen String auf eine bestimmte Länge auf
  • str_repeat – Gibt eine sich wiederholende Zeichenfolge zurück
  • str_replace – Ersetzt die Suchzeichenfolge durch die Ersatzzeichenfolge
  • str_rot13 – Führt eine ROT13-Transformation für einen String durch
  • str_shuffle – Mischt Zeichen in einer Zeichenfolge
  • str_split – Konvertiert einen String in ein Array
  • str_word_count – Gibt Informationen über die Wörter in einer Zeichenfolge zurück
  • substr – Funktion gibt einen Teil einer Zeichenfolge zurück
  • substr_count – Zählt die Anzahl der Vorkommen eines Teilstrings in einem String
  • substr_replace – Ersetzt einen Teil einer Zeichenfolge
  • trim – Entfernt Leerzeichen vom Anfang und Ende einer Zeichenfolge
  • ucfirst – Konvertiert das erste Zeichen einer Zeichenfolge in Großbuchstaben
  • ucwords – Wandelt das erste Zeichen jedes Wortes in einer Zeichenfolge in Großbuchstaben um
  • vprintf – Druckt eine formatierte Zeichenfolge
  • vsprintf – Gibt eine formatierte Zeichenfolge zurück
  • Wortumbruch – Umbricht eine Zeile für eine bestimmte Anzahl von Zeichen mithilfe eines Zeilenumbruchzeichens
  • Merkmale von Vergleichsoperatoren, die auf Zeichenfolgen angewendet werden.

    $eins = 1; // Nummer Eins. $null = 0; // Weisen Sie die Zahl Null zu. if ($one == "") echo 1; // Offensichtlich nicht gleich – gibt nicht 1 aus. if ($zero == "") echo 2; //* Aufmerksamkeit! Entgegen den Erwartungen druckt es 2! if ("" == $null) echo 3; //* Und das hilft auch nicht – es wird gedruckt!.. if ("$zero" == "") echo 4; // So ist es richtig. if (strval($zero) == "") echo 5; // Das ist auch richtig – es wird nicht 5 ausgegeben. if ($zero === "") echo 6; // Beste Möglichkeit, funktioniert aber nicht in PHP 3.

    hacken()

    Die Funktion crush() gibt eine Zeichenfolge zurück, nachdem nachgestellte Leerzeichen und Zeilenumbrüche entfernt wurden. Die Syntax der Funktion crush() lautet:

    String Chop (String String)

    Im folgenden Beispiel entfernt die Funktion crush() zusätzliche Zeilenumbrüche:

    $header = "Inhaltsverzeichnis\n\n"; $header = hacken($header); // $header = "Inhaltsverzeichnis"

    str_pad()

    Die Funktion str_pad() füllt einen String bis zu einer bestimmten Länge mit den angegebenen Zeichen auf und gibt den formatierten String zurück. Syntax der Funktion str_pad():

    string str_pad (string string, int pad_length [, string pad [, int pad_type]])

    Wenn der optionale Padding-Parameter nicht angegeben ist, wird die Zeichenfolge mit Leerzeichen aufgefüllt. Andernfalls wird die Zeichenfolge mit den angegebenen Zeichen aufgefüllt. Standardmäßig ist die Zeile rechts aufgefüllt; Sie können jedoch den padding_type-Parameter STR_PAD_RIGHT, STR_PAD_LEFT oder STR_PAD_BOTH übergeben, der die Zeile in der angegebenen Richtung auffüllt. Das Beispiel demonstriert das Auffüllen von Zeichenfolgen mit der Funktion str_pad() mit Standardparametern:

    $food = "Salat"; print str_pad ($food, 5): // Druckt die Zeichenfolge „salad“ Das folgende Beispiel verwendet die optionalen Parameter der Funktion str_pad(): $header = „Table of Contents“; +=+=" , STR_PAD_BOTH); // Der Browser zeigt die Zeile =+=+= Tabe of Contents=+=+=" an

    trimmen()

    Die Funktion trim() entfernt alle Leerzeichen an beiden Enden einer Zeichenfolge und gibt die resultierende Zeichenfolge zurück. Die Syntax der trim()-Funktion lautet:

    Saitentrimm (Saitenland)

    Zu den entfernten Leerzeichen gehören die Sonderzeichen \n, \r, \t, \v und \0.

    ltrim()

    Die Funktion lrim() entfernt alle Leerzeichen und Sonderzeichen vom linken Rand einer Zeichenfolge und gibt die resultierende Zeichenfolge zurück. Syntax der Funktion ltrim():

    string ltrim (string string)

    Die Funktion entfernt dieselben Sonderzeichen wie die Funktion trim().

    strlen()

    Bestimmen der Saitenlänge

    Die Länge einer Zeichenfolge in Zeichen kann mit der Funktion strlen() ermittelt werden. Syntax der Funktion strlen():

    int strlen (string string)

    Das folgende Beispiel zeigt, wie Sie die Länge einer Zeichenfolge mithilfe der Funktion strlen() ermitteln:

    $string = "Hallo"; $length = strlen($string); // $length = 5

    Vergleich zweier Strings

    Der Vergleich zweier Strings ist eine der wichtigsten String-Operationen in jeder Sprache. Obwohl dieses Problem auf verschiedene Arten gelöst werden kann, gibt es in PHP vier String-Vergleichsfunktionen:

    strcmp()

    Die Funktion strcmp() vergleicht zwei Zeichenfolgen unter Berücksichtigung der Groß- und Kleinschreibung. Syntax der Funktion strcmp(): int strcmp (string string1, string string2)

    Sobald der Vergleich abgeschlossen ist, gibt strcmp() einen von drei möglichen Werten zurück:

    • 0, wenn Zeile1 und Zeile2 gleich sind;
    • < 0, если строка1 меньше, чем строка2;
    • > 0, wenn string2 kleiner als string1 ist.

    $sthng1 = "Butter"; $string2 = "Butter"; if ((strcmp($string1. $string2)) == 0) : print "Strings sind äquivalent!"; endif; // Der if-Befehl gibt TRUE zurück

    strcasecmp()

    Die Funktion strcasecmp() funktioniert genauso wie strcmp(), mit einer Ausnahme: Der Vergleich berücksichtigt nicht die Groß-/Kleinschreibung von Zeichen. Die Syntax der Funktion strcasecmp() lautet:

    int strcasecmp (string string1, string string2)

    Der folgende Codeausschnitt vergleicht zwei identische Zeichenfolgen:

    $string1 = "Butter"; $string2 = "Butter"; if ((strcmp($string1, $string2)) == 0) : print "Strings sind äquivalent!"; endif; // Der if-Befehl gibt TRUE zurück

    strspn()

    Die Funktion strspn() gibt die Länge des ersten Segments von string1 zurück, das die in string2 vorhandenen Zeichen enthält. Die Syntax der Funktion strspn() lautet:

    int strspn (string string1, string string2)

    Der folgende Ausschnitt zeigt, wie die Funktion strspn() zum Überprüfen eines Passworts verwendet wird:

    $password = "12345"; if (strspn($password, "1234567890") != strlen($password)) : print "Passwort darf nicht nur aus Zahlen bestehen!"; endif:

    strcspn()

    Die Funktion strcspn() gibt die Länge des ersten Segments von string1 zurück, das Zeichen enthält, die in string2 nicht vorhanden sind. Syntax der Funktion strcspn():

    int strcspn (string string1, string string2)

    Das folgende Snippet verwendet die Funktion strcspn(), um das Passwort zu überprüfen:

    $password = "12345"; if (strcspn($password, "1234567890") == 0): print "Passwort darf nicht nur aus Zahlen bestehen!"; endif;

    Verarbeiten von Zeichenfolgendaten ohne Verwendung regulärer Ausdrücke

    Bei der Verarbeitung großer Informationsmengen verlangsamen reguläre Ausdrucksfunktionen die Programmausführung erheblich. Diese Funktionen sollten nur bei der Verarbeitung relativ komplexer Zeichenfolgen verwendet werden, bei denen reguläre Ausdrücke wirklich erforderlich sind. Wenn die Textanalyse nach relativ einfachen Regeln durchgeführt wird, können Sie Standard-PHP-Funktionen verwenden, die die Verarbeitung erheblich beschleunigen. Alle diese Funktionen werden im Folgenden beschrieben.

    strtok()

    Die Funktion strtok() teilt eine Zeichenfolge mithilfe der im zweiten Parameter angegebenen Trennzeichen in Token auf. Die Syntax der Funktion strtok() lautet:

    string strtok (String string, String-Trennzeichen)

    Die Funktion strtok() hat eine Merkwürdigkeit: Um einen String vollständig aufzuteilen, muss die Funktion mehrmals hintereinander aufgerufen werden. Beim nächsten Aufruf der Funktion extrahiert sie das nächste Token aus der Zeichenfolge. In diesem Fall wird der String-Parameter nur einmal angegeben – die Funktion verfolgt die aktuelle Position im String, bis der String vollständig in Tokens analysiert ist oder ein neuer String-Parameter angegeben wird. Das folgende Beispiel veranschaulicht das Aufteilen einer Zeichenfolge mithilfe mehrerer Trennzeichen:

    $info = "WJ Gi1more: [email protected]| Columbus, Ohio"; // Trennzeichen - Doppelpunkt (:), vertikaler Strich (|) und Komma (.) $tokens = ":|,"; $tokenized = strtok($info, $tokens); // Array-Elemente drucken $tokenized while ($tokenized) : echo „Element = $tokenized
    "; // Bitte beachten Sie, dass nachfolgende Aufrufe von strtok // das erste Argument nicht übergeben $tokenized = strtok($tokens); endwhile; Ergebnis: Element = WJGilmore Element = [email protected] Element = Columbus Element = Ohio

    parse_str()

    Die Funktion parse_str() analysiert Paare in einer Zeichenfolge und weist Variablen im aktuellen Bereich Werte zu. Syntax der Funktion parse_str():

    void parse_str (Zeichenfolge Zeichenfolge)

    Die Funktion parse_str() ist besonders nützlich beim Parsen von URLs, die HTML-Formulardaten oder andere umfangreiche Informationen enthalten. Im folgenden Beispiel werden Informationen analysiert, die über eine URL übergeben werden. Eine Zeichenfolge ist eine Standardmethode zum Übertragen von Daten zwischen Seiten, die entweder zu einem Hyperlink kompiliert oder in ein HTML-Formular eingegeben wird:

    $url = "fname=wj&lname=gilmore&zip=43210"; parse_str($url); // Nachdem parse_str() ausgeführt wurde, sind die folgenden Variablen verfügbar: // $fname = "wj": // $lname = "gilmore"; // $zip = "43210"

    Da diese Funktion für die Arbeit mit URLs entwickelt wurde, ignoriert sie das kaufmännische Und-Zeichen (&).

    explodieren()

    Die Funktion explosion() teilt einen String in Elemente auf und gibt diese Elemente als Array zurück. Syntax der Explode()-Funktion:

    Array-Explosion (String-Trennzeichen, String-String [, int-Schwellenwert])

    Die Aufteilung erfolgt bei jeder Instanz des Trennzeichens und die Anzahl der resultierenden Fragmente kann durch den optionalen Schwellenwertparameter begrenzt werden.

    Die Funktion explosion() demonstriert das Teilen einer Zeichenfolge im folgenden Beispiel:

    $info = "Wilson | Baseball | Indianer"; $user = explosion("|", $info); // $user = "wilson"; // $user = "Baseball"; // $user = "Indianer";

    Die Funktion „explosive()“ ist nahezu identisch mit der oben beschriebenen POSIX-Funktion „split()“ für reguläre Ausdrücke. Der Hauptunterschied besteht darin, dass die Übergabe regulärer Ausdrücke als Parameter nur beim Aufruf von split() zulässig ist.

    implodieren()

    Wenn die Funktion „explode()“ einen String in Array-Elemente aufteilt, führt ihr Gegenstück, die Funktion „implode()“, das Array zu einem String zusammen. Syntax der Implode()-Funktion:

    String implodieren (String-Trennzeichen, Array-Fragmente)

    Das Bilden eines Strings aus einem Array wird im folgenden Beispiel demonstriert:

    $ohio_cities = array("Columbus", "Youngstown", "Cleveland", "Cincinnati"); $city_string = implode("l", $ohio_cities); // $city_string = "Columbus | Youngstown | Cleveland | Cincinnati";

    implode() hat einen Alias, die Funktion join().

    strpos()

    Die Funktion strpos() findet die erste Instanz eines bestimmten Teilstrings in einem String. Syntax der Funktion strpos():

    int strpos (string string, string substring [, int offset])

    Der optionale Offset-Parameter gibt die Position an, an der die Suche beginnen soll. Wenn die Teilzeichenfolge nicht gefunden wird, gibt strpos() FALSE (0) zurück.

    Das folgende Beispiel ermittelt die Position des ersten Vorkommens eines Datums in der Protokolldatei:

    $log = "206.169.23.11:/www/:2000-08-10 206.169.23.11:/www/logs/:2000-02-04 206.169.23.11:/www/img/:1999-01-31"; // An welcher Stelle in der Zeitschrift erscheint das Jahr 1999 erstmals? $pos = strpos($log, "1999"); // $pos = 95. weil die erste Instanz von „1999“ // sich an Position 95 der Zeile befindet, die in der Variablen $log enthalten ist

    strpos()

    Die Funktion strrpos() findet die letzte Instanz eines bestimmten Zeichens in einer Zeichenfolge. Die Syntax der Funktion strrpos() lautet:

    int strpos (String string, char-Zeichen)

    In Bezug auf die Fähigkeiten ist diese Funktion ihrem Gegenstück – der Funktion strpos() – unterlegen, da Sie damit nur nach einem einzelnen Zeichen und nicht nach der gesamten Zeichenfolge suchen können. Wenn als zweiter Parameter an strrpos() ein String übergeben wird, wird bei der Suche nur dessen erstes Zeichen verwendet.

    str_replace()

    Die Funktion str_replace() durchsucht einen String nach allen Vorkommen eines bestimmten Teilstrings und ersetzt diese durch einen neuen Teilstring. Syntax der Funktion str_replace():

    string str_replace (String-Teilstring, String-Ersetzung, String-String)

    Mit der Funktion substr_replace(), die später in diesem Abschnitt beschrieben wird, können Sie nur einen bestimmten Teil einer Zeichenfolge ersetzen. Im Folgenden wird gezeigt, wie die Funktion str_replace() verwendet wird, um eine globale Ersetzung für eine Zeichenfolge durchzuführen.

    Wenn die Teilzeichenfolge nie in der Zeichenfolge vorkommt, bleibt die ursprüngliche Zeichenfolge unverändert:

    $favorite_food = „Meine Lieblingsspeisen sind Eis und Chicken Wings“; $favorite_food = str_replace("chicken_wings", "pizza", $favohte_food); // $favorite_food = „Meine Lieblingsspeisen sind Eis und Pizza“

    strstr()

    Die Funktion strstr() gibt den Teil einer Zeichenfolge zurück, der mit dem ersten Vorkommen einer bestimmten Teilzeichenfolge beginnt. Syntax der Funktion strstr():

    string strstr (String string, string substring)

    Im folgenden Beispiel wird die Funktion strstr() verwendet, um einen Domänennamen aus einer URL zu extrahieren:

    $url = "http://www.apress.com"; $domain - strstr($url, "."); // $domain = ".apress.com"

    substr()

    Die Funktion substr() gibt den Teil einer Zeichenfolge zurück, der an einer bestimmten Startposition beginnt und eine bestimmte Länge hat. Syntax der Substr()-Funktion:

    string substr (string string, int start [, int length])

    Wenn der optionale Längenparameter nicht angegeben ist, wird davon ausgegangen, dass die Teilzeichenfolge an der angegebenen Startposition beginnt und bis zum Ende der Zeichenfolge fortgesetzt wird. Bei der Verwendung dieser Funktion sind vier Dinge zu beachten:

    • Wenn der Startparameter positiv ist, beginnt die zurückgegebene Teilzeichenfolge an der Position der Zeile mit der angegebenen Nummer.
    • Wenn der Startparameter negativ ist, beginnt der zurückgegebene Teilstring an der Position (Stringlänge – Start);
    • Wenn die Länge positiv ist, enthält die zurückgegebene Teilzeichenfolge alle Zeichen von Anfang bis Anfang+Länge. Wenn der letzte Wert die Länge des Strings überschreitet, werden Zeichen bis zum Ende des Strings zurückgegeben;
    • Wenn die Länge negativ ist, endet die zurückgegebene Teilzeichenfolge im angegebenen Abstand vom Ende der Zeichenfolge.

    Denken Sie daran, dass der Startparameter den Versatz vom ersten Zeichen der Zeile angibt; Die zurückgegebene Zeichenfolge beginnt also tatsächlich bei der Zeichennummer (Start + 1).

    Das folgende Beispiel demonstriert substr() substring substring:

    $car = „1944 Ford“; Smodel = substr($car, 6); // Smodel = "Ford"

    Beispiel mit positivem Längenparameter:

    $car = „1944 Ford“; $model = substr($car, 0, 4); // $model = "1944" Beispiel mit einem negativen Längenparameter: $car = "1944 Ford"; $model = substr($car, 2, -5); // $model = "44"

    substr_count()

    Die Funktion substr_count() gibt die Anzahl der Vorkommen eines Teilstrings in einem bestimmten String zurück. Die Syntax der Funktion substr_count() lautet: int substr_count (string string, string substring) Im folgenden Beispiel zählt die Funktion substr_count() die Anzahl der Vorkommen des Teilstrings ain: $tng_twist = "Der Regen fällt hauptsächlich auf die Ebenen aus Spanien"; $count = substr_count($tng_twist, "ain"); // $count = 4

    substr_replace()

    Die Funktion substr_replace() ersetzt den Teil einer Zeichenfolge, der an einer bestimmten Position beginnt. Bei Angabe des optionalen Längenparameters wird ein Fragment der angegebenen Länge ersetzt; andernfalls wird die Ersetzung entlang der gesamten Länge der Ersetzungszeichenfolge durchgeführt. Die Syntax der Funktion substr_replace() lautet:

    string substr_replace (string string, string replacement, int start [, int length])

    Die Start- und Längenparameter werden nach bestimmten Regeln eingestellt:

    • Wenn der Startparameter positiv ist, beginnt die Ersetzung an der angegebenen Position.
    • Wenn der Startparameter negativ ist, beginnt die Ersetzung an der Position (Stringlänge -Start);
    • wenn der Längenparameter positiv ist, wird ein Fragment der angegebenen Länge ersetzt;
    • Wenn die Länge negativ ist, endet die Ersetzung an der Position (Stringlänge – Länge).

    Die einfache Textersetzung mit substr_replace() wird im folgenden Beispiel demonstriert:

    $favs = " "s favorite links"; $name = "Alessia"; // Parameter „0, 0“ bedeuten, dass das zu ersetzende Fragment // an der ersten Position der Zeile beginnt und endet. $favs - substr_replace( $favs, $name , 0, 0); $favs drucken:

    Ergebnis:

    Alessias Lieblingslinks

    Konvertieren von Zeichenfolgen und Dateien in das HTML-Format und umgekehrt

    Das Konvertieren einer Zeichenfolge oder einer gesamten Datei in ein für die Anzeige in einem Webbrowser geeignetes Format (oder umgekehrt) ist einfacher, als es auf den ersten Blick erscheinen mag. PHP verfügt hierfür über spezielle Funktionen.

    Text in HTML konvertieren

    Das schnelle Konvertieren von reinem Text in das Webbrowser-Format ist eine sehr häufige Aufgabe. Die in diesem Abschnitt beschriebenen Funktionen helfen Ihnen bei der Lösung.

    nl2br()

    Die Funktion nl2br() ersetzt alle Zeilenumbrüche (\n) durch entsprechende HTML-Konstrukte.

    Syntax der Funktion nl2br():

    string nl2br (string string)

    Zeilenumbrüche können entweder sichtbar (d. h. explizit in die Zeile eingefügt) oder unsichtbar (z. B. im Editor eingegeben) sein. Das folgende Beispiel konvertiert eine Textzeichenfolge in das HTML-Format, indem die \n-Zeichen durch Zeilenumbrüche ersetzt werden:

    // Im Editor angezeigter Textstring. $text_recipe = "Party-Sauce-Rezept: 1 Dose gedünstete Tomaten 3 Esslöffel frischer Zitronensaft Umrühren, kalt servieren."; // Zeilenumbrüche konvertieren in
    $htinl_recipe = nl2br($text_recipe) Die anschließende Ausgabe von $html_recipe gibt den folgenden HTML-Text an den Browser zurück: Partysauce-Rezept:
    1 Dose gedünstete Tomaten
    3 Esslöffel frischer Zitronensaft
    Zusammenrühren, kalt servieren.

    htmlentities()

    Die Funktion htmlentities() wandelt Zeichen in entsprechende HTML-Konstrukte um. Die Syntax für die htmlentities-Funktion lautet:

    string htmlentities (string string)

    Das folgende Beispiel führt die erforderliche Ersetzung von Zeichenfolgenzeichen für die Ausgabe an den Browser durch:

    $user_input = „Das Kochbuch mit dem Titel Cafe Francaise“ kostet

    Die Funktion htmlentities() funktioniert derzeit nur für ISO-8559-1 (ISO-Latin-1) kodierte Zeichen. Außerdem werden Leerzeichen nicht wie erwartet umgewandelt.

    htmlspecialchars()

    Die Funktion htmlspecialchars() ersetzt bestimmte Zeichen, die im HTML-Kontext eine besondere Bedeutung haben, durch entsprechende HTML-Konstrukte. Syntax der Funktion htmlspecialchars():

    string htmlspecialchars (string string)

    Die HTML-Funktion „Sonderzeichen()“ konvertiert derzeit die folgenden Zeichen: & konvertiert in &; „“ wird in „;“ umgewandelt in >.

    Diese Funktion hilft insbesondere dabei, Benutzer daran zu hindern, HTML-Markup in interaktiven Webanwendungen (z. B. Online-Foren) einzugeben. Fehler im HTML-Markup können dazu führen, dass die gesamte Seite nicht korrekt formatiert wird. Es gibt jedoch eine effizientere Lösung für dieses Problem: Entfernen Sie Tags mithilfe der Funktion „strip_tags()“ vollständig aus einem String.

    Das folgende Beispiel zeigt die Entfernung potenziell gefährlicher Zeichen durch die Funktion htmlspeclalchars():

    $user_input = „Ich komme einfach nicht hin von PHP und diesen fantastischen Kochrezepten!“; $conv_input = htmlspecialchars($user_input); // $conv_input = „Ich kann einfach nicht<> von PHP & diese fantastischen Kochrezepte!“

    Wenn die Funktion htmlspecialchars() in Kombination mit nl2br() verwendet wird, sollte letztere nach htmlspecialchars() aufgerufen werden. Ansonsten die Designs
    , die durch den Aufruf von nl2br() generiert werden, werden in sichtbare Zeichen umgewandelt.

    get_html_translation_table()

    Die Funktion get_html_translation_table() bietet eine praktische Möglichkeit, Text in HTML-Äquivalente zu konvertieren. Die Syntax der Funktion get_htrril_translation_table() lautet:

    string get_html_translation_table (int-Tabelle)

    Die Funktion get_html_translation_table() gibt eine von zwei Übersetzungstabellen (definiert durch den Tabellenparameter) zurück, die bei der Ausführung der Standardfunktionen htmlspecialchars() und htmlentities() verwendet werden. Der Rückgabewert kann in Kombination mit einer anderen Standardfunktion, strtr(), verwendet werden, um Text in HTML-Code zu konvertieren.

    Der Tabellenparameter nimmt einen von zwei Werten an:

    • HTML_ENTITIES;
    • HTML_SPECIALCHARS.

    Im folgenden Beispiel wird die Funktion get_html_translation_table() verwendet, um Text in HTML zu konvertieren:

    $string = "La Pasta und piate piu amato in Italia"; $translate = get_html_translation_table(HTML_ENTITIES); print strtr($string, $translate); // Sonderzeichen werden in HTML-Konstrukte umgewandelt // und im Browser korrekt dargestellt.

    Mit der Funktion array_flip() können Sie übrigens Text in umgekehrter Richtung in HTML konvertieren und den Originaltext wiederherstellen. Nehmen wir an, dass wir das Ergebnis von strtr() im vorherigen Beispiel nicht ausdrucken, sondern es der String-Variablen $translated zuweisen.

    Im folgenden Beispiel wird der Originaltext durch die Funktion array_flip() wiederhergestellt:

    $translate = array_flip($translate); $translated_string - „La Pasta und piatto piú amato in Italia“; $original_string = strtr($translated_string, $translate); // $original_string = "La Pasta und piate piu amato in Italia";

    strtr()

    Die Funktion strtr() übersetzt eine Zeichenfolge, d. h. sie ersetzt alle Zeichen in der Quellzeichenfolge durch die entsprechenden Zeichen in der Zielzeichenfolge. Die Syntax der Funktion strtr() lautet:

    string strtr (String string, String-Quelle, String-Ziel)

    Wenn die Quell- und Zielzeichenfolgen unterschiedlich lang sind, wird die lange Zeichenfolge gekürzt, damit sie in die kurze Zeichenfolge passt.

    Es gibt eine alternative Syntax für den Aufruf von strtr() mit zwei Parametern; In diesem Fall enthält der zweite Parameter ein assoziatives Array, dessen Schlüssel den zu ersetzenden Teilzeichenfolgen entsprechen und dessen Werte den ersetzenden Teilzeichenfolgen entsprechen. Das folgende Beispiel ersetzt HTML-Tags durch XML-ähnliche Konstrukte:

    " => "

    ", "" => "

    "); $string = "

    Heute in PHP-basierten Nachrichten

    "; print strtr($string, $source); // Druckt den String " Heute in PHP-Powered News" ?>

    Konvertieren Sie HTML in einfachen Text

    Manchmal müssen Sie eine HTML-Datei in einfachen Text konvertieren. Die nachfolgend beschriebenen Funktionen helfen Ihnen bei dieser Aufgabe.

    strip_tags()

    Die Funktion „strip_tags()“ entfernt alle HTML- und PHP-Tags aus einer Zeichenfolge und lässt nur Text darin übrig. Die Syntax der Funktion „strip_tags()“ lautet:

    string strip_tags (string string [, string erlaubt_terri])

    Mit dem optionalen Parameter „allowed_tags“ können Sie Tags angeben, die während des Löschvorgangs übersprungen werden sollen.

    Unten finden Sie ein Beispiel für das Entfernen aller HTML-Tags aus einer Zeichenfolge mithilfe von strip_tags():

    $user_input = "Ich habe gerade Liebe PHP und Feinschmecker Rezepte!"; $stripped_input = strip_tags($user_input); // $stripped_input = "Ich liebe einfach PHP und Gourmet-Rezepte!";

    Das folgende Beispiel entfernt nicht alle, sondern nur einige Tags:

    $input = "I Liebe Zu essen!!"; $strip_input = strip_tags ($user_input, " "); // $strip_input = "Ich liebe es essen!!";

    Das Entfernen von Tags aus Text erfolgt ebenfalls durch die Funktion fgetss().

    get_meta_tags()

    Obwohl die Funktion get_meta_tags() nicht direkt mit der Texttransformation zusammenhängt, handelt es sich um eine sehr nützliche Funktion, die es wert ist, erwähnt zu werden. Syntax der Funktion Get_meta_tags():

    Array get_meta_tags (String Dateiname/URL [, int include_path])

    Die Funktion get_meta_tags() dient zum Durchsuchen einer HTML-Datei nach META-Tags.

    META-Tags enthalten Informationen über eine Seite, die hauptsächlich von Suchmaschinen verwendet werden. Diese Tags befinden sich in einem Tag-Paar... . Die Verwendung von META-Tags wird im folgenden Snippet demonstriert (nennen wir es example.html, da es in Listing 8.2 verwendet wird): PHP-Rezepte Die Funktion get_meta_tags() durchsucht den Dokumentkopf nach Tags, die mit dem Wort META beginnen, und speichert die Tag-Namen und ihre Inhalte in einem assoziativen Array. Listing 8.2 demonstriert die Anwendung dieser Funktion auf die Datei example.html. Listing 8.2. Extrahieren von META-Tags aus einer HTML-Datei mit get_meta_tags()

    $meta_tags = get_meta_tags("example.html"): // Die Variable $meta_tags enthält ein Array mit den folgenden Informationen: // $meta_tags["keywords"] = "PHP, Code, Rezepte, Web" // $meta_tags[ "description" ] = "PHP Information" // $meta_tags["author"] = "KDG";

    Ein interessantes Detail: META-Tag-Daten können nicht nur aus Dateien extrahiert werden, die sich auf dem Server befinden, sondern auch aus anderen URLs.

    Konvertieren Sie eine Zeichenfolge in Groß- und Kleinschreibung

    In PHP gibt es vier Funktionen, mit denen die Groß-/Kleinschreibung einer Zeichenfolge geändert werden kann:

    strtolower()

    Die Funktion strtolower() wandelt alle alphabetischen Zeichen in einer Zeichenfolge in Kleinbuchstaben um. Die Syntax der Funktion strtolower() lautet:

    string strtolower(string string)

    Nicht-alphabetische Zeichen werden durch die Funktion nicht verändert. Das Konvertieren einer Zeichenfolge in Kleinbuchstaben mithilfe der Funktion strtolower() wird im folgenden Beispiel demonstriert:

    $sentence = "KOCHEN und PHP PROGRAMMIEREN sind meine ZWEI Favoriten!"; $satz = strtolower($satz); // Nach dem Funktionsaufruf enthält $sentence den String // „Kochen und PHP-Programmierung sind meine beiden Favoriten!“

    strtoupper()

    Zeichenfolgen können nicht nur in Kleinbuchstaben, sondern auch in Großbuchstaben umgewandelt werden. Die Konvertierung erfolgt durch die Funktion strtoupper(), die folgende Syntax hat:

    string strtoupper (string string)

    Nicht-alphabetische Zeichen werden durch die Funktion nicht verändert. Das Konvertieren einer Zeichenfolge in Großbuchstaben mithilfe der Funktion strtoupper() wird im folgenden Beispiel demonstriert:

    $sentence = "Kochen und PHP programmieren sind meine beiden Favoriten!"; $satz = strtoupper($satz); // Nach dem Funktionsaufruf enthält $sentence den String // „KOCHEN UND PROGRAMMIEREN VON PHP SIND MEINE ZWEI FAVORITEN!“

    ucfirst()

    Die Funktion ucfirst() wandelt das erste Zeichen einer Zeichenfolge in Großbuchstaben um, sofern es sich um ein alphabetisches Zeichen handelt. Syntax der Funktion ucfirst():

    string ucfirst (string string)

    Nicht-alphabetische Zeichen werden durch die Funktion nicht verändert. Die Konvertierung des ersten Zeichens eines Strings durch die Funktion ucfirst() wird im folgenden Beispiel demonstriert:

    &sentence = "Kochen und PHP programmieren sind meine beiden Favoriten!"; $satz = ucfirst($satz); // Nach dem Funktionsaufruf enthält $sentence den String // „Kochen und PHP programmieren sind meine beiden Favoriten!“

    ucwords()

    Die Funktion ucwords() wandelt den ersten Buchstaben jedes Wortes in einer Zeichenfolge in Großbuchstaben um. Syntax der Funktion ucwords():

    string ucwords (string string")

    Nicht-alphabetische Zeichen werden durch die Funktion nicht verändert. Ein „Wort“ ist als eine Folge von Zeichen definiert, die durch Leerzeichen von anderen Elementen der Zeichenfolge getrennt sind. Das folgende Beispiel zeigt, wie die Funktion ucwords() die ersten Zeichen von Wörtern umwandelt:

    $sentence = "Kochen und PHP programmieren sind meine beiden Favoriten!"; $satz = ucwords($satz); // Nach dem Funktionsaufruf enthält $sentence den String // „Kochen und Programmieren in PHP sind meine beiden Favoriten!“

    strhr()

    strrchr("string", "o") – Findet das letzte Vorkommen eines Teilstrings

    Wenn die Teilzeichenfolge nicht gefunden wird, wird FALSE zurückgegeben.

    Im Gegensatz zu strchr() wird nur das erste Zeichen verwendet, wenn die Suchzeichenfolge aus mehr als einem Zeichen besteht.

    Wenn der zweite Parameter keine Zeichenfolge ist, wird er in eine Ganzzahl umgewandelt und als Zeichencode behandelt.

    // letztes Verzeichnis aus $PATH abrufen $dir = substr(strrchr($PATH, ":"), 1); // Alles nach dem letzten Zeilenumbruch abrufen $text = "Zeile 1\nZeile 2\nZeile 3"; $last = substr(strrchr($text, 10), 1);

    highlight_string()

    highlight_string – String-Syntax hervorheben.

    gemischter Highlight_String (String str [, bool return])

    Die Funktion highlights_string() gibt eine syntaxfarbene Version von str aus, wobei die Farben verwendet werden, die in der integrierten Syntaxhervorhebung von PHP definiert sind.

    Wenn der zweite Rückgabeparameter TRUE ist, gibt highlights_string() die hervorgehobene Codeversion als Zeichenfolge zurück, anstatt sie auszugeben. Wenn der zweite Parameter nicht TRUE ist, gibt highlight_string() bei Erfolg TRUE und bei Fehler FALSE zurück.

    Hinweis: 1. Der Rückgabeparameter ist ab PHP 4.2.0 verfügbar. Vorher funktionierte es wie standardmäßig, d. h. FALSCH.
    2.Die Funktion Highlight_String() unterscheidet PHP-Code anhand von Tags. show_source()- Synonym highlight_file(). Um die Standardhervorhebungsfarbe zu ändern, verwenden Sie die folgenden PHP-Anweisungen:

    Highlight.bg #FFFFFF Highlight.comment #FF8000 Highlight.default #0000BB Highlight.html #000000 Highlight.Keyword #007700 Highlight.string #DD0000 in .htaccess: php_flag Highlight.bg #FFFFFF in PHP: if(@ini_get("highlight .bg")=="") ...

    addslashes()

    – Escapezeichen für Sonderzeichen in einer Zeichenfolge

    Gibt eine Zeichenfolge mit einem Backslash (\) vor jedem Sonderzeichen zurück, beispielsweise für die spätere Verwendung dieser Zeichenfolge in einer Datenbankabfrage.

    Das einfache Anführungszeichen ("), das doppelte Anführungszeichen ("), der Backslash (\) und NUL (NULL-Byte) werden maskiert.

    $str = "Ist Ihr Name O"reilly?"; // gibt aus: Ist Ihr Name O\"reilly? echo addslashes($str);

    Stripslashes

    - Entfernt Escape-Zeichen, die von der Funktion addslashes() erzeugt werden. Entfernt Escape-Backslashes. (\" wird in " usw. umgewandelt). Doppelte Backslashes (\\) werden in einfache Backslashes (\) umgewandelt.

    Zeilenumbruch()

    Umbricht eine Zeile für eine bestimmte Anzahl von Zeichen mithilfe eines Zeilenumbruchs // Verwendung von wordwrap(). function cite($ourText, $maxlen=60, $prefix="> ") ( $st = wordwrap($ourText, $maxlen-strlen($prefix), "\n"); $st = $prefix.str_replace( "\n", "\n$prefix", $st); return $st; echo cite("Die erste Matrix, die ich entworfen habe, war von Natur aus perfekt, sie war ein Kunstwerk – makellos, erhaben. Ein Triumph, der nur von ihm erreicht wird Sein monumentales Scheitern ist für mich jetzt eine Folge der Unvollkommenheit, die jedem Menschen innewohnt. Deshalb habe ich es auf der Grundlage Ihrer Geschichte neu gestaltet, um die unterschiedlichen Grotesken Ihrer Natur wiederzuspiegeln Scheitern.", 20);

    > Die erste Matrix, die ich > entworfen habe, war ganz > natürlich > perfekt, es war ein > Kunstwerk - > makellos, erhaben. > Ein Triumph, der nur von seinem monumentalen Scheitern übertroffen wird. Die Unvermeidlichkeit seines Untergangs ist für mich jetzt offensichtlich als Konsequenz der Unvollkommenheit, die jedem Menschen innewohnt. Ich habe es auf der Grundlage Ihrer Geschichte neu gestaltet, um die unterschiedlichen Grotesken Ihrer Natur genauer widerzuspiegeln. > Allerdings war ich wieder einmal frustriert über das Scheitern.


    Weiterlesen: Objektprogrammierung in PHP
    .

    „Die neuere interne Parameter-Parsing-API wurde auf alle mit PHP 5.3.x gebündelten Erweiterungen angewendet. Diese Parameter-Parsing-API führt dazu, dass Funktionen NULL zurückgeben, wenn inkompatible Parameter übergeben werden. Es gibt einige Ausnahmen von dieser Regel, wie zum Beispiel die Funktion get_class() , was im Fehlerfall weiterhin FALSE zurückgibt.“

    In PHP 5.3 gibt strlen($attributes) also NULL zurück, während strlen($attributes) in PHP 5.2 die Ganzzahl 5 zurückgibt. Dies wirkt sich wahrscheinlich auf andere Funktionen aus. Wenn Sie also plötzlich ein anderes Verhalten oder neue Fehler feststellen, überprüfen Sie, ob dies der Fall ist Sie haben ein Upgrade auf 5.3 durchgeführt (was wir kürzlich durchgeführt haben) und prüfen dann, ob in Ihren Protokollen Warnungen wie diese vorliegen:

    strlen() erwartet, dass Parameter 1 ein String und ein Array ist, das in /var/www/sis/lib/functions/advanced_search_lib.php in Zeile 1028 angegeben ist

    Wenn ja, dann erleben Sie wahrscheinlich dieses veränderte Verhalten.

    vor 1 Jahr

    Wenn Ihr Text UTF8-Zeichen enthält (z. B. arabische Zeichen), kann mb_substr anstelle von strlen verwendet werden.
    aber wenn die Zeichenfolge UTF16 (wmoji, smiley) enthält, können Sie diese Methode verwenden, um die richtige Länge zu erhalten:

    Weil einige Emojis (z. B. 📌) 2, 3 oder 4 Byte groß sind!

    vor 2 Jahren

    Wenn Sie die Länge prüfen, um sicherzustellen, dass ein Wert in ein Datenbankfeld passt, achten Sie darauf, die richtige Funktion zu verwenden.

    Es gibt drei mögliche Situationen:

    1. Wahrscheinlichster Fall: Die Datenbankspalte ist UTF-8 mit einer in Unicode-Codepunkten definierten Länge (z. B. mysql varchar(200) für eine UTF-8-Datenbank).

    // ok, wenn php.ini default_charset auf UTF-8 (= Standardwert) gesetzt ist
    mb_strlen ($value);
    iconv_strlen ($value);
    // immer ok
    mb_strlen($value, "UTF-8");
    iconv_strlen($value, "UTF-8");

    // SCHLECHT, nicht verwenden:
    strlen(utf8_decode($value)); // bricht bei einigen Multibyte-Zeichen ab
    grapheme_strlen ($value); // zählt Grapheme, keine Codepunkte
    ?>

    2. Die Datenbankspalte hat eine in Bytes definierte Länge (z. B. VARCHAR2(200 BYTE) von Oracle)

    // ok, geht aber davon aus, dass mbstring.func_overload in php.ini 0 ist (= Standardwert)
    strlen ($value);
    // ok, Kräfte zählen in Bytes
    mb_strlen ($value, „8bit“)
    ?>

    3. Die Datenbankspalte liegt in einem anderen Zeichensatz (UTF-16, ISO-8859-1 usw.) vor und die Länge ist in Zeichen/Codepunkten definiert.

    Suchen Sie den verwendeten Zeichensatz und übergeben Sie ihn explizit an die Längenfunktion.

    // ok, unterstützte Zeichensätze:
    mb_strlen ($value, $charset);
    // ok, unterstützte Zeichensätze: https://www.gnu.org/software/libiconv/
    iconv_strlen ($value, $charset);
    ?>

    vor 6 Jahren

    Die strlen-Funktion von PHP verhält sich hinsichtlich der Verarbeitung von Nullbytes („\0“) anders als die strlen-Funktion von C.

    In PHP zählt ein Nullbyte in einem String NICHT als Ende des Strings und alle Nullbytes werden in die Länge des Strings einbezogen.

    Zum Beispiel in PHP:

    strlen("te\0st") = 5

    In C würde derselbe Aufruf 2 zurückgeben.

    Daher kann die strlen-Funktion von PHP verwendet werden, um die Anzahl der Bytes in einer Binärzeichenfolge zu ermitteln (z. B. Binärdaten, die von base64_decode zurückgegeben werden).

    vor 2 Jahren

    Hier gibt es eine Menge Fehlinformationen, die ich korrigieren möchte! Viele Leute wurden vor der Verwendung von strlen() gewarnt, weil es „superlangsam“ ist. Nun, das war wahrscheinlich in alten Versionen von PHP der Fall. Aber seit PHP7 ist das der Fall „Das stimmt definitiv nicht mehr. Es ist jetzt SUPER schnell!

    Ich habe eine 20.000.000-Byte-Zeichenfolge (~20 Megabyte) erstellt und HUNDERTMILLION MAL in einer Schleife wiederholt. Bei jeder Schleifeniteration wurde ein neues strlen() für diese sehr, sehr lange Zeichenfolge ausgeführt.

    Das Ergebnis: 100 Millionen strlen()-Aufrufe für einen 20-Megabyte-String dauerten insgesamt nur 488 Millisekunden. Und die strlen()-Aufrufe wurden nicht langsamer/schneller, selbst wenn ich den String kleiner oder größer machte. Der strlen()-Vorgang war so ziemlich eine superschnelle Operation mit konstanter Zeit

    Entweder speichert PHP7 die Länge jedes Strings als Feld, das es einfach immer nachschlagen kann, ohne Zeichen zählen zu müssen. Oder es speichert das Ergebnis von strlen() zwischen, bis sich der String-Inhalt tatsächlich ändert. Wie auch immer, Sie sollten sich jetzt NIEMALS Sorgen um die Leistung von strlen() machen. Ab PHP7 ist es superschnell!

    Hier ist der vollständige Benchmark-Code, falls Sie ihn auf Ihrem Computer reproduzieren möchten:

    $iterations = 100000000 ; // 100 Millionen
    $str = str_repeat ( "0" , 20000000 );

    // Benchmark-Schleife und Variablenzuweisung zur Berechnung des Schleifen-Overheads
    $start = microtime(true);
    for($i = 0 ; $i< $iterations ; ++ $i ) {
    $len = 0 ;
    }
    $end = microtime(true);
    $loop_elapsed = 1000 * ($end - $start );

    // Benchmark strlen in einer Schleife
    $len = 0 ;
    $start = microtime(true);
    for($i = 0 ; $i< $iterations ; ++ $i ) {
    $len = strlen ($str );
    }
    $end = microtime(true);
    $strlen_elapsed = 1000 * ($end - $start );

    // Subtrahiere den Schleifenaufwand von der strlen()-Geschwindigkeitsberechnung
    $strlen_elapsed -= $loop_elapsed ;

    echo "\nString-Länge: ( $len ) \nTest dauerte: ( $strlen_elapsed ) Millisekunden\n" ;

    ?>

    vor 5 Jahren

    Funktion limit_text($text, $limit = 100000000000) (
    if (strlen ($text)< $limit) {
    return $text;
    }
    $split_words = explosion(" ", $text);
    $out = null;
    foreach ($split_words as $word) (
    if ((strlen($word) > $limit) && $out == null) (
    return substr($word, 0, $limit)."...";
    }

    Wenn ((strlen($out) + strlen($word)) > $limit) (
    Rückkehr $out . „…“;
    }
    $out.=" " . $word;
    }
    return $out;
    }

    echo limit_text("hello world lorem ipsum",10);

    Programmierer müssen sich sehr oft mit verschiedenen Funktionen für die Arbeit mit Strings in PHP auseinandersetzen. Alle Funktionen werden in verschiedenen Nachschlagewerken vorgestellt, ich möchte mich jedoch nur auf die wichtigsten beschränken.

    PHP-Funktion substr – Teil eines Strings abrufen

    Wenn Sie eine Passage einer bestimmten Länge aus einer Zeichenfolge ab einer bestimmten Position auswählen müssen, kommt die Funktion substr zur Rettung.In dieser Funktion werden durch Kommas getrennt übergeben: Text, Startposition und Anzahl der Zeichen. Der letzte Parameter ist optional, und wenn er fehlt, ist das Ergebnis der Funktion ein Auszug des Quelltextes von der Startposition bis zum Ende der Zeile.

    PHP-Funktion strlen – Länge eines Strings ermitteln

    Diese Funktion gibt die Länge der Originalzeichenfolge als Ganzzahl zurück.Mit dieser Funktion können Sie die Länge der vom Benutzer eingegebenen Daten oder möglicherweise etwas anderes überprüfen.

    PHP-Funktion trim – Entfernen Sie zusätzliche Leerzeichen von den Rändern einer Zeichenfolge

    Die Funktion trim entfernt alle Leerzeichen von den Rändern einer Zeichenfolge, einschließlich des Zeilenumbruchzeichens. Es gibt auch die Funktionen rtrim und ltrim, die Leerzeichen am Ende oder Anfang einer Zeile entfernen.

    PHP-Funktion strpos – sucht einen String

    Die Funktion strpos sucht nach einem Teilstring in einem String und gibt bei Erfolg die Position des Anfangs dieses Teilstrings zurück. Nachdem die erste Teilzeichenfolge gefunden wurde, wird die Suche beendet.Die Reihenfolge der Argumente in der Funktion ist, wie Sie vielleicht erraten haben, wie folgt: Quellzeichenfolge, Teilzeichenfolge, Startposition. Der dritte Parameter ist optional, aber denken Sie daran, dass er vorhanden ist.

    PHP-Funktion „strip_tags“ – entfernt HTML- und PHP-Tags aus einer Zeichenfolge

    Die Funktion „strip_tags“ gibt eine Zeichenfolge ohne HTML- und PHP-Tags zurück. Es wird Ihnen nützlich sein, wenn Sie ein Kommentarmodul auf Ihrer Website schreiben, um Angreifern keine Gelegenheit zu geben, Ihre Website über das Formular zu hacken.html Und php muss entfernt werden"; echo strip_tags($text); echo strip_tags($text," ");//Em-Tags nicht löschen ?> Das erste Argument der Funktion ist der Quelltext und das zweite sind die Tags, die nicht gelöscht werden sollen.

    PHP-Funktion strtolower – wandelt einen String in Kleinbuchstaben um

    PHP-Funktion strtoupper – konvertiert einen String in Großbuchstaben

     Wenn Sie diese Website nützlich fanden, können Sie bei der Entwicklung mithelfen, indem Sie sie veröffentlichen

    Websites können in statische und dynamische Websites unterteilt werden. Nachdem sie HTML und CSS beherrschen, mit denen Sie eine schöne Visitenkarte im Internet erstellen können, denken viele Menschen darüber nach, wie sie eine dynamische Website in PHP erstellen können. Gleichzeitig muss der Layouter berücksichtigen, dass er jetzt mit dem Studium der Webprogrammierung beginnt: Die Prinzipien der Arbeit mit der Site werden anders sein. Eines der ersten Probleme, mit denen ein PHP-Anfänger konfrontiert ist, ist die Arbeit mit Strings, deren Lesen und Verarbeiten.

    Es ist erwähnenswert, dass PHP über eine große Anzahl von Methoden verfügt. Daher sollten Sie mit dem Erlernen dieser Methoden mit den einfachsten Manipulationen beginnen, z. B. dem Ausgeben eines Strings, dem Suchen, Abrufen oder Ersetzen eines Teilstrings, dem Ändern der Groß-/Kleinschreibung und dem Zurückgeben der Länge eines Strings. Viele Funktionen funktionieren mit kyrillischen Zeichen nicht gut. Aus Gründen der Übersichtlichkeit sind daher alle Beispiele auf Englisch verfasst. Für kyrillische Zeichenfolgen werden dieselben Funktionen verwendet, jedoch mit dem Präfix mb_ (z. B. mb_strpos()). Bevor Sie Analoga verwenden, müssen Sie die Zeile in php.ini auskommentieren; extension=php_mbstring.dll, indem Sie einfach das Semikolon entfernen.

    Erstellen und Ausgeben eines Strings

    Wir analysieren die Ausgabe eines Strings auf dem Bildschirm mit dem bekannten Echo-Sprachkonstrukt. Der Programmierer kann die Zeile sofort ausgeben:

    echo „Das ist eine neue Zeile“

    oder erstellen Sie zuerst eine Variable und geben Sie sie dann auf dem Bildschirm aus:

    $str = "Dies ist eine neue Zeile";

    Wenn Sie mehrere Zeilen in einer anzeigen müssen, greifen Sie auf die Verkettung zurück:

    echo „Das“ . "Neu". " Linie";

    $str1 = "Dies";

    $str2 = "Neu";

    $str3 = "String";

    echo $str1 . $str2 . $str3;

    Im letzteren Fall wird der Bildschirm angezeigt Das ist NewLine. Beim Aufruf von echo kann sofort ein Leerzeichen hinzugefügt werden:

    echo $str1 . " " . $str2 . " " . $str3;

    In diesem Fall wird auf dem Bildschirm Folgendes angezeigt: „Dies ist eine neue Zeile.“ Die Verkettung ist nicht nur bei der Ausgabe möglich, sondern auch beim Erstellen eines Strings:

    $str1 = "Dies";

    $str2 = "Neu";

    $str3 = "String";

    $string = $str1 . " " . $str2 . " " . $str3;

    echo $string;

    Echo zeigt sowohl Kyrillisch als auch Kyrillisch an. Wenn eine der Variablen eine Zahl enthielt, wird diese Zahl bei der Verkettung in die entsprechende Zeichenfolge umgewandelt:

    $summe = $i + $i; //jetzt enthält $sum die Zahl 4

    echo $i . „+“ . $i . " = " . $summe;

    Auf dem Bildschirm wird angezeigt: „2 + 2 = 4“.

    Servicesymbole

    Nehmen wir an, ein String wird mit ($string = „Like this“) definiert. Dann können Sie Steuersequenzen absolut sicher verwenden:

    • \n führt einen Zeilenvorschub durch;
    • \r gibt den Wagen zurück;
    • \" entgeht doppelten Anführungszeichen:
      • echo "String mit „doppelten“ Anführungszeichen“; //String mit doppelten Anführungszeichen
    • \$ entgeht Dollar;
    • \\ entgeht einem Backslash.

    Es gibt noch viele weitere Sequenzen, die alle in der offiziellen PHP-Dokumentation zu finden sind.

    So finden Sie die Position des ersten Vorkommens einer Teilzeichenfolge

    Nehmen wir an, wir haben eine einfache Zeile:

    Wir haben auch zwei Zeilen mit Namen:

    $name = "Yemelyan";

    $anotherName = "Katherine";

    Wir müssen wissen, ob die erste Zeile diese beiden Namen enthält. Verwenden Sie dazu die Funktion strpos($str, $search). Es gibt die Position der gesuchten Teilzeichenfolge $search zurück, wenn diese Zeichenfolge im Original enthalten ist, $str. Andernfalls gibt die Funktion den booleschen Wert false zurück. Beispielsweise gibt strpos($string, $anotherName) false zurück, während strpos($string, $name) eine Ganzzahl zurückgibt. Der Code sieht so aus (wir schreiben die Version, wenn die Position auf dem Bildschirm angezeigt wird):

    $string = „Mein Name ist Yemelyan und ich bin 27 Jahre alt“;

    $name = "Yemelyan";

    $anotherName = "Katherine";

    echo strpos($string, $anotherName); //wird falsch angezeigt

    echo strpos($string, $name); //gibt die Position des ersten Vorkommens des Teilstrings aus

    Bitte beachten Sie, dass die Zeilennummerierung bei Null beginnt, d. h. in unserem Fall wird in der letzten Zeile die Zahl 11 angezeigt (Leerzeichen zählen auch).

    Ermitteln der Position des letzten Vorkommens eines Teilstrings und von Fallstricken

    Wenn die Funktion strpos() die Position des ersten Vorkommens zurückgibt, sucht ihre Umkehrfunktion strrpos() nach dem letzten Vorkommen des Teilstrings.

    Mit der Startnummerierung sind einige Fallstricke verbunden. Dies ist eine Überlegung wert: In PHP kann die Arbeit mit Strings durch Einschränkungen bei Vergleichen erschwert werden. Daher ist es besser, den Vergleichsoperator nicht mit Negation zu verwenden: strpos($str, $search)!=false. In jeder PHP-Version funktionieren Beispiele mit einer solchen Äquivalenz möglicherweise nicht korrekt, da die Zeilennummerierung bei Null beginnt und in der logischen Interpretation 0 falsch ist. Dies gilt auch für die Funktion strrpos().

    So ermitteln Sie die Häufigkeit des Vorkommens einer Teilzeichenfolge

    Oftmals müssen Sie nicht die Position des ersten oder letzten Vorkommens einer Teilzeichenfolge in einer Zeichenfolge ermitteln, sondern deren Gesamtzahl. Verwenden Sie dazu die Funktion substr_count(), die mindestens zwei Variablen verarbeitet: substr_count($str, $search). Gibt eine Ganzzahl zurück. Wenn der Suchbereich um eine Zeichenfolge reduziert werden muss, werden der Funktion zwei weitere Variablen übergeben: der Anfang und das Ende der Zeichenfolge. Das heißt, die Funktion wird in diesem Fall wie folgt aufgerufen: substr_count($str, $search, $start, $end). Die Funktion sucht nach der Teilzeichenfolge $search im Intervall von $start bis $end der Quellzeichenfolge $str. Wenn die Zeichenfolge nicht gefunden wird, gibt die Funktion Null zurück.

    So ändern Sie die Groß-/Kleinschreibung einer Zeichenfolge in PHP: Beispiele

    Die Änderung der Groß-/Kleinschreibung wird häufig zum Vergleichen von Zeichenfolgen verwendet. Nehmen wir an, der Benutzer muss den Namen des höchsten Gottes im Programm eingeben. Es gibt eine Option „Eins“, mit der die Antwort des Benutzers verglichen wird. Wenn der eingegebene Text nicht mit dem vorhandenen übereinstimmt (der Benutzer schreibt beispielsweise „eins“ oder „EINS“), gibt das Programm „false“ statt „true“ zurück. Um dies zu vermeiden, wird die Fallwechselfunktion verwendet. Dies wird häufig verwendet, wenn eine PHP-Site über Tags verfügt: Anstelle von Hunderten von Variationen des Wortes „persönlich“ („Personal“, „persönlich“, „PERSONAL“ usw.) gibt es nur ein Tag in Kleinbuchstaben.

    Die Funktion strtolower() ändert die Groß- und Kleinschreibung. Nehmen wir an, es gibt eine Zeile $catName = „Fluffy“. Die Funktion strtolower($catName) gibt die Zeichenfolge „fluffy“ zurück. Mit der Funktion strtoupper() können Sie die Groß- und Kleinschreibung in Großbuchstaben umwandeln.

    So ermitteln Sie die Länge einer Zeichenfolge in PHP: Arbeiten mit Funktionen

    Oft muss man die Länge einer Zeichenfolge ermitteln. Beispielsweise kann es in PHP beim Erstellen einer Schleife erforderlich sein, mit solchen Zeichenfolgen zu arbeiten. Um nach einer Zeichenfolge zu suchen, verwenden Sie die Funktion strlen(), die eine Zahl zurückgibt – die Anzahl der Zeichen. Wir dürfen nicht vergessen, dass das letzte Zeichen die Nummer strlen($str)-1 haben wird, da die Nummerierung bei Null beginnt.

    Einen Teilstring in PHP abrufen und ersetzen: Mit Strings arbeiten

    Das Abrufen eines Teilstrings erfolgt durch die Funktion substr(), die zwei oder drei Argumente annehmen kann: substr($str, $start, $end). Nehmen wir an, wir haben $string = „Fluffy cat“ und möchten den Teilstring vom zweiten bis zum vierten Zeichen erhalten. Da die Nummerierung bei Null beginnt, sieht die Variable mit diesem Teilstring folgendermaßen aus: $newString = substr($string, 1, 4). Wenn wir $newString = substr($string, 1) eingeben, erhalten wir einen Teilstring vom zweiten bis zum letzten Zeichen (also „ruffy“). Dieser Code ist identisch mit dem vollständigen String-Code mit strlen(): substr($string, 1, strlen($string)).

    Um einen Teilstring zu ersetzen, verwenden Sie die Funktion str_replace(), die drei Variablen akzeptiert: str_replace($subStr, $newSub, $str). Im Gegensatz zu vielen anderen Funktionen funktioniert str_replace() korrekt mit kyrillischen Zeichen und hat kein Analogon mit einem Präfix. Beispiel:

    $str = "Das Wetter ist heute schrecklich!";

    $newStr = str_replace("schrecklich", "wunderbar", $str); //Wunderbares Wetter heute!

    Konvertieren einer Zeichenfolge in eine Zahl

    Jeder, der Webprogrammierung lernt, muss früher oder später einen String in eine Zahl umwandeln. Dazu werden zwei ähnliche Funktionen verwendet: intval() und floatval(), die jeweils eine $string-Variable benötigen. Sie unterscheiden sich nur in der Art der zurückgegebenen Daten: intval() gibt eine Ganzzahl zurück und floatval() gibt eine Gleitkommazahl zurück.

    Um sowohl intval() als auch floatval() verwenden zu können, muss die Zeichenfolge mit Ziffern beginnen, die in eine Zahl umgewandelt werden. Wenn auf Zahlen eine Reihe von Buchstaben folgt, werden diese einfach ignoriert. Wenn die Zeichenfolge mit Buchstaben beginnt, wird bei Verwendung der Funktion Null zurückgegeben. Idealerweise sollte die Zeile nur Zahlen enthalten.

    Konvertieren einer Zahl in eine Zeichenfolge

    Oft müssen Zahlen in eine Zeichenfolge umgewandelt werden. Angenommen, Sie müssen eine halbe Zahl nehmen und quadrieren (überprüfen Sie beispielsweise, ob die Gleichheit wahr ist: 88 x 88 + 33 x 33 = 8833). In diesem Fall wird die Funktion strval() verwendet, die einen String mit einer Zahl zurückgibt. Danach können Sie alle weiteren Aktionen mit der neuen Zeichenfolge ausführen: Ändern, nach einem Vorkommen einer Teilzeichenfolge suchen und andere Funktionen. Bei Bedarf kann die Zeichenfolge mit der oben bereits beschriebenen Methode wieder in eine Zahl umgewandelt werden.

    Der Artikel untersuchte nur einen kleinen Teil aller Funktionen im Zusammenhang mit Strings. Einige unbeschriebene Funktionen arbeiten mit Symbolen, die meisten wurden jedoch aus Spezifitätsgründen nicht in das Material aufgenommen. Um sich mit diesen Funktionen vertraut zu machen, sollten Sie die offizielle PHP-Dokumentation lesen, die die neuesten Informationen enthält.



     


    Lesen:



    Lineage OS-Firmware: Überprüfung und Installation des neuesten Betriebssystems. Installieren von Updates mit ROM Manager

    Lineage OS-Firmware: Überprüfung und Installation des neuesten Betriebssystems. Installieren von Updates mit ROM Manager

    Warum Android flashen? Aus dem Wunsch heraus, die Funktionalität zu erweitern, zu sehen, wie Ihr Gerät in einer neuen „Hülle“ aussehen könnte, um die Funktionsfähigkeit wiederherzustellen ...

    Unterschiede zwischen Einplatinencomputern Orange Pi und Raspberry Pi, was kaufen?

    Unterschiede zwischen Einplatinencomputern Orange Pi und Raspberry Pi, was kaufen?

    Die Idee, einen kleinen Computer zu bauen, beschäftigt Ingenieure schon seit vielen Jahren. Eine der beliebtesten Arten von Mikrocomputern ist das Smartphone – eine Symbiose...

    Anweisungen, was zu tun ist, wenn Ihnen so etwas passiert

    Anweisungen, was zu tun ist, wenn Ihnen so etwas passiert

    In diesem Artikel erkläre ich Ihnen, wie Sie Ihren Computer vor der Neuinstallation des Betriebssystems bewahren, wenn das lokale Windows-Administratorkonto ...

    Booten einer virtuellen Maschine von einem Flash-Laufwerk mit dem Virtual Machine USB Boot-Programm Virtual OS auf einem Flash-Laufwerk

    Booten einer virtuellen Maschine von einem Flash-Laufwerk mit dem Virtual Machine USB Boot-Programm Virtual OS auf einem Flash-Laufwerk

    Der Artikel befasst sich mit der Frage, wie man überprüfen kann, ob ein bootfähiges Flash-Laufwerk in VirtualBox funktioniert. Ich werde es zuerst installieren und prüfen, ob es funktioniert ...

    Feed-Bild RSS