Ersetzung von PHP-Zeichen durch reguläre Ausdrücke. Reguläre PHP-Ausdrücke. Ausgeschlossene Zeichenklassen

Wie es sich für eine moderne Programmiersprache gehört, bietet PHP dem Entwickler eine Reihe von Funktionen zur Verwendung regulärer Ausdrücke. Mithilfe komplexer Kriterien können Sie nach Vorkommen von Zeichenfolgen in anderen Zeichenfolgen suchen.

  • PREG_PATTERN_ORDER;
  • PREG_SET_ORDER.

Sortieren nach Option 1 gruppiert Suchergebnisse nach der Nummer des regulären Ausdrucks (Standardeinstellung). Im zweiten Fall werden die Ergebnisse nach ihrer Position in der Zeile gruppiert.

Symbol - Vorlagenelement

Es ist wichtig zu bedenken, dass die Vorlage mit Symbolen arbeitet. Die Programmierung hat längst vergessen, was der Datentyp „Zeichen“ ist. Moderne Sprachen gehen nicht unter das Konzept der „Zeichenfolge“, aber im Hinblick auf das Muster müssen Sie verstehen: Hier werden Symbole manipuliert.

Beim Erstellen einer Vorlage geht es zunächst darum, die erforderliche Zeichenfolge festzulegen. Wenn Sie dies klar verstehen, enthält die Vorlage keine Fehler. Auf jeden Fall wird es deutlich weniger sein.

  • a ist ein bestimmtes Element der Vorlage – ein Symbol.
  • a-z ist ein Vorlagenelement, ebenfalls ein Zeichen, aber nur mit dem Wert von a bis z – alles lateinisch in Kleinbuchstaben.
  • 0-9 ist eine Zahl, jede Zahl, aber 1-3 ist nur 1, 2 oder 3.

Die Groß-/Kleinschreibung im Muster ist wichtig. Das erste und das letzte Zeichen des Musters sind von Bedeutung. Sie können angeben, wo die Vorlage beginnt und endet.

Funktionsvorlage

PHP Preg Match All verwendet die Standardsyntax für reguläre Ausdrücke. Geben Sie eines der darin angegebenen Symbole an:

  • nur die Zeichen a, b, c.
  • [^ABC] alles außer den Zeichen A, B, C.
  • \w und \W – Text- oder Nicht-Text-Zeichen.
  • \s und \S – Leerzeichen oder Nicht-Leerzeichen.
  • \d und \D – Ziffer oder Nichtziffer.

Wiederholte Zeichen werden durch geschweifte Klammern (n,m) gekennzeichnet und beziehen sich auf das vorherige Zeichen.

  • n bezeichnet die Wiederholung von „nicht weniger als“;
  • m – Wiederholung von „nicht mehr“.

Die Syntax bietet viele Möglichkeiten zum Erstellen von Vorlagen, aber am besten beginnt man mit den Grundlagen, also mit einfachen, eigenhändig geschriebenen Vorlagen, in denen komplexe Elemente und Kombinationen fehlen.

Einfach ausgedrückt: Indem Sie die tatsächlich benötigten Zeichen auflisten, ihre erforderliche Anzahl angeben und berücksichtigen, dass das Zeichen „^“ dem Anfang und „$“ dem Ende der Zeile entspricht, können Sie einfache Vorlagen erstellen. Durch die Analyse echter, gut debuggter regulärer Ausdrücke von qualifizierten Experten können Sie sich fundiertes Wissen aneignen, um komplexe Anwendungen von Preg Match All zu erstellen. Das Arsenal von PHP beschränkt sich nicht nur auf diese beiden Funktionen, sie werden jedoch am häufigsten verwendet.

Einfache Übung

Ganzzahliges Muster:

  • "/*/"

Auch ein ganzzahliges Muster, aber es kann ein Vorzeichen („+“, „-“) und zusätzliche Leerzeichen vorne/hinten stehen:

  • /^[\s|\+|\-](0,1)*/

Ebenfalls:

  • /^[\s|\+|\-](0,1)*(\.)*/ – eine Zahl mit einem Punkt.
  • /+@+\.(2,3)/ – Option zur E-Mail-Erkennung.

Wenn Sie Ihre eigenen Vorlagen für Preg Match All verwenden, Beispiele davon im Internet finden und den Code von Website-Seiten und anderen Quellen analysieren, können Sie Ihre eigene Vorlagenbibliothek erstellen.

Es gibt viele Möglichkeiten, Informationen zu finden. Insbesondere die letzten beiden oben genannten Konstruktionen können unterschiedlich modelliert werden. In vielen Fällen wird der Vorlage der Vorzug gegeben, die die gewünschte Übereinstimmung schneller und genauer liefert. Die Verwendung von preg match all in PHP sowie ähnlicher Funktionen in anderen Sprachen erfordert Übung, Aufmerksamkeit und eine vorläufige Überprüfung der Richtigkeit der Vorlagen.

Dieser Artikel enthält eine Auswahl von PHP-Regexp-Beispielen. Eine sehr schöne und nützliche Sammlung von Beispielen für reguläre Ausdrücke. Alle Beispiele für reguläre Ausdrücke sind für PHP akzeptabel. Genießen Sie es für Ihre Gesundheit!

Beispiel für die Überprüfung des Domainnamens

Dieses PHP-Snippet prüft, ob die Zeichenfolge ein gültiger Domainname ist.

?:.*)+):?(d+)?/?/i", $url)) ( echo „Ihre URL ist in Ordnung.“; ) else ( echo „Falsche URL.“; )

Beispiel für die Hervorhebung eines Wortes im Text

Ein sehr nützlicher regulärer Ausdruck zum Suchen und Hervorheben des gewünschten Worts im Text. Der Code ist besonders nützlich beim Erstellen der Ausgabe von Suchergebnissen.

$text = "Beispielsatz von KomunitasWeb: Regex ist in der Webprogrammierung populär geworden. Jetzt lernen wir Regex. Laut Wikipedia werden reguläre Ausdrücke (abgekürzt als Regex oder Regexp, mit Pluralformen Regexes, Regexps oder Regexen) formal geschrieben Sprache, die von einem Prozessor für reguläre Ausdrücke interpretiert werden kann“; $text = preg_replace("/b(regex)b/i", " 1", $text); echo $text;

Ein Beispiel für die Implementierung der Hervorhebung von SuchergebnissenWordPress

Öffnen Sie die Datei search.php und suchen Sie nach der Funktion_title(). Ersetzen Sie es durch die folgende Zeile:

Echo $title;

Fügen Sie nun vor der ersetzten Zeile diesen Code ein:

\0", $title); ?>

Speichern Sie Ihre search.php-Datei und öffnen Sie style.css. Fügen Sie die folgende Zeile hinzu:

Strong.search-Auszug (Hintergrund: gelb;)

Ein Beispiel für den Erhalt von Bildern vonHTML-Regexp-Methode

Dieser PHP-Code sucht mithilfe regulärer Ausdrücke nach allen Bildern und deren URL.

$images = array(); preg_match_all("/(img|src)=("|")[^"">]+/i", $data, $media); unset($data); $data=preg_replace("/(img|src)("|"|="|=")(.*)/i","$3",$media); foreach($data as $url) ( $info = pathinfo($url); if (isset($info["extension"])) ( if (($info["extension"] == "jpg") || ($info["extension"] == "jpeg") ||. ($info["extension"] == "gif") || ($info["extension"] == "png")) array_push($ Bilder, $url);

Doppelte Wörter entfernen (ohne Berücksichtigung der Groß- und Kleinschreibung)

Gibt es oft Wörter, die wiederholt werden? Dann wird Ihnen dieses Beispiel für einen regulären Ausdruck nützlich sein.

$text = preg_replace("/s(w+s)1/i", "$1", $text);

Doppelte Punkte entfernen

Das Gleiche, nur mit sich wiederholenden Punkten.

$text = preg_replace("/.+/i", ".", $text);

XML/HTML-Tag-Abgleich

Diese einfache Funktion benötigt zwei Argumente: ein Tag (mit dem Sie übereinstimmen möchten), XML- oder HTML-Code.

Funktion get_tag($tag, $xml) ( $tag = preg_quote($tag); preg_match_all("(<".$tag."[^>]*>(.*?).")", $xml, $matches, PREG_PATTERN_ORDER); return $matches; )

Suchen Sie nach XHTML/XML-Tags mit bestimmten Attributwerten

Dieses Beispiel ähnelt der vorherigen Funktion, nur können Sie die Suche deutlich erweitern, zum Beispiel finden

.

Funktion get_tag($attr, $value, $xml, $tag=null) ( if(is_null($tag)) $tag = "\w+"; else $tag = preg_quote($tag); $attr = preg_quote($ attr); $value = preg_quote($value); $tag_regex = "/<(".$tag.")[^>]*$attr\s*=\s*". "(["\"])$value\\2[^>]*>(.*?)<\/\\1>/" preg_match_all($tag_regex, $xml, $matches, PREG_PATTERN_ORDER); return $matches; )

Hexadezimale Farbwerte finden

Ein großartiges Beispiel für einen regulären Ausdruck, der hexadezimale Farbwerte in bestimmten Zeichenfolgen abgleicht. Wofür ist das? Vielleicht möchten Sie einen Dienst zum Komprimieren von CSS-Code oder etwas Ähnliches schreiben.

$string = "#555555"; if (preg_match("/^#(?:(?:(3))(1,2))$/i", $string)) ( echo "Beispiel 6 erfolgreich."; )

SuchbeispielTitel auf einer bestimmten Seite

Dieses interessante Beispiel für PHP-Code mit Regexp findet Text zwischen Tags und gibt ihn zurück Und.

Feof($fp))( $page .= fgets($fp, 4096); ) $titre = eregi(" (.*)",$page,$regs); echo $regs; fclose($fp);

Analyse des Apache-Protokolls

Die meisten Websites laufen auf bekannten Apache-Servern. Wenn Ihre Site auch darauf läuft, können Sie das Serverprotokoll mit PHP Regexp analysieren.

//Protokolle: Apache-Webserver //Erfolgreiche Zugriffe nur auf HTML-Dateien. Nützlich zum Zählen der Anzahl der Seitenaufrufe. "^((?#Client-IP oder Domänenname)S+)s+((?#Basisauthentifizierung)S+s+S+)s+[((?#Datum und Uhrzeit)[^]]+)]s+"(?: GET|POST|HEAD) ((?#file)/[^ ?]+?.html?)??((?#parameters)[^ ?]+)? HTTP/+"s+(?#Statuscode)200s+((?#übertragene Bytes)[-0-9]+)s+"((?#Referrer)[^"]*)"s+"((?#Benutzeragent )[^"]*)"$" //Protokolle: Apache-Webserver //nur 404-Fehler "^((?#Client-IP oder Domänenname)S+)s+((?#Basisauthentifizierung)S+s+S+) s+[((?#Datum und Uhrzeit)[^]]+)]s+"(?:GET|POST|HEAD) ((?#Datei)[^ ?"]+)??((?#Parameter)[ ^ ?"]+)? HTTP/+"s+(?#Statuscode)404s+((?#übertragene Bytes)[-0-9]+)s+"((?#Referrer)[^"]*)"s+"((?#Benutzeragent )[^"]*)"$"

Beispiel für die Überprüfung der Passwortkomplexität

Ein hervorragendes Beispiel für einen regulären Ausdruck, der den Komplexitätsgrad eines Passworts überprüft. Das Passwort muss 6 Zeichen lang sein und mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine Zahl enthalten.

„A(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?) [-_a-zA-Z0-9](6,)z"

Text-Emoticons durch grafische Emoticons ersetzen

Dieser Beispielcode ändert das Text-Emoticon in Ihr Grafik-Emoticon. Interessantes und nützliches PHP-Snippet.

$texte="Ein Text mit einem Smiley:-)"; echo str_replace(":-)"," ",$texte);

Beispiel eines regulären Ausdrucks zum Abrufen von BildernHTML Quelltext

Es ist erwähnenswert, dass dieser PHP-Code in WordPress zum Suchen und Verarbeiten von Bildern verwendet wird.

post_content; $szSearchPattern = "~ ]* />~"; // Führen Sie preg_match_all aus, um alle Bilder zu erfassen und die Ergebnisse in $aPics zu speichern. preg_match_all($szSearchPattern, $szPostContent, $aPics); // Überprüfen Sie, ob wir mindestens 1 Bild haben $iNumberOfPics = count($aPics); if ($iNumberOfPics > 0) ( // Hier können Sie Ihre Bilder bearbeiten // In diesem Beispiel werden sie einfach auf dem Monitor angezeigt für ($i=0; $i< $iNumberOfPics ; $i++) { echo $aPics[$i]; }; }; endwhile; endif; ?>

Ich hoffe, Sie fanden diese Sammlung von PHP-Regexp-Beispielen nützlich. Wenn es interessante Ergänzungen oder Beispiele für reguläre Ausdrücke (PHP) gibt, schreiben Sie in die Kommentare.

Bedienungsanleitung:

Die Funktion preg_replace sucht nach Übereinstimmungen eines regulären Ausdrucks (Muster) mit Daten in einer Zeichenfolge (Betreff) und ersetzt sie durch die in replacement gefundenen Daten.

Streit

Beschreibung

Muster

Erforderliches Argument. Regulärer Ausdruck (Suchmuster)

Zeichenfolge, Array

Ersatz

Erforderliches Argument. Eine Zeichenfolge oder ein Array mit Daten, die zum Ersetzen von Daten in verwendet werden Thema

Sie können für Links auch eine Konstruktion der Form \$(1) verwenden, die äquivalent zu \$1 ist; diese Konstruktion wird verwendet, wenn auf den Link unmittelbar eine Zahl (\$(1)1) folgt.

Zeichenfolge, Array
Thema Erforderliches Argument. Eine Zeichenfolge oder ein Array mit den zu ersetzenden Daten. Zeichenfolge, Array
Grenze

Optionales Argument. Maximale Anzahl an Vertretungen. Der Standardwert ist -1 (unbegrenzt)

int
zählen

Optionales Argument. Eine Variable, die die Anzahl der vorgenommenen Ersetzungen enthält.

int

Die Funktion preg_replace() kann mit dem Modifikator /e verwendet werden. Wenn dieser Modifikator vorhanden ist, wird der Ersetzungsparameter als PHP-Code interpretiert und dann zum Ersetzen verwendet.

Reguläre Ausdrücke

Unabhängig davon sollten wir uns mit regulären Ausdrücken befassen, ohne deren Verständnis es ziemlich schwierig (wenn nicht unmöglich) ist, die Funktionsweise der Funktion zu verstehen preg_replace().

Eine recht gute Beschreibung regulärer Ausdrücke findet sich auf wikipedia.org, dort werden auch die Hauptpunkte der Verwendung regulärer Ausdrücke beschrieben

Beispiele:

Beispiel 1:

In diesem Beispiel ersetzen wir alle in Klammern stehenden Zahlen durch Sternchen.

Beispiel 2:

In diesem Beispiel ersetzen wir die Zeichenfolge, die dem gesamten Muster entspricht, durch die Daten, die dem ersten Untermuster an der Referenz \$1 entsprechen. Mit anderen Worten: „have 3 apples“ entsprechend „/(\w+) (\d+) (\w+)/“ wird durch „have“ entsprechend (\w+) ersetzt.

Beispiel 3:

Dieses Beispiel zeigt, was passiert, wenn Sie Arrays als Muster und Ersatz verwenden.

Beispiel 4:

Dieses Beispiel zeigt, was passiert, wenn Sie Arrays als Muster, Ersatz und Betreff verwenden.

Beispiel 5:

Dieses Beispiel zeigt die Verwendung des /e-Modifikators, d. h. wenn Ersetzung als PHP-Code interpretiert wird. Nachfolgend finden Sie die Umwandlung der Zeichen von Klein- in Großbuchstaben.

Beispiel 6:

Dieses Beispiel zeigt die Verwendung des Arguments count. Hier ist das Ergebnis gleich 2, es gab also zwei Ersetzungen.

gemischt preg_match(String-Muster, String-Betreff [, Array &Matches [, int Flags [, int Offset]]])

Durchsucht den angegebenen Textbetreff nach Übereinstimmungen mit dem Mustermuster

Wenn der zusätzliche Parameter „Matches“ angegeben ist, wird dieser mit Suchergebnissen gefüllt. Das Element $matches enthält den Teil der Zeichenfolge, der mit dem gesamten Muster übereinstimmt, $matches enthält den Teil der Zeichenfolge, der mit dem ersten Untermuster übereinstimmt, und so weiter.

Flags können die folgenden Werte annehmen:

PREG_OFFSET_CAPTURE

Wenn dieses Flag angegeben ist, wird für jeden gefundenen Teilstring seine Position im Quellstring angegeben. Es ist wichtig zu bedenken, dass dieses Flag das Format der zurückgegebenen Daten ändert: Jedes Vorkommen wird als Array zurückgegeben, dessen nulltes Element den gefundenen Teilstring enthält und dessen erstes Element den Offset enthält. Dieses Flag ist in PHP 4.3.0 und höher verfügbar.

Der zusätzliche Flags-Parameter ist seit PHP 4.3.0 verfügbar.

Die Suche erfolgt von links nach rechts, beginnend mit dem Zeilenanfang. Mit dem optionalen Offset-Parameter kann eine alternative Startposition für die Suche angegeben werden. Der zusätzliche Offset-Parameter ist seit PHP 4.3.3 verfügbar.

Kommentar: Die Verwendung des Offset-Parameters ist nicht gleichbedeutend mit dem Ersetzen der übereinstimmenden Zeichenfolge durch substr($subject, $offset) beim Aufruf der Funktion preg_match_all(), da das Muster Bedingungen enthalten kann wie ^ , $ oder (? . Vergleichen:

Während dieses Beispiel

Funktion preg_match() gibt die Anzahl der gefundenen Übereinstimmungen zurück. Es kann 0 (keine Übereinstimmungen gefunden) und 1 sein, weil preg_match() funktioniert nicht mehr, nachdem die erste Übereinstimmung gefunden wurde. Wenn Sie alle Übereinstimmungen finden oder zählen müssen, sollten Sie die Funktion verwenden preg_match_all(). Funktion preg_match() kehrt zurück FALSCH falls bei der Ausführung Fehler auftreten.

Hinweis: Benutzen Sie die Funktion nicht preg_match(), wenn Sie prüfen müssen, ob in einer bestimmten Zeichenfolge eine Teilzeichenfolge vorhanden ist. Hierzu verwenden strpos() oder strstr(), da sie diese Aufgabe viel schneller erledigen werden.


Beispiel 2. Suchen Sie im Text nach dem Wort „Web“.

/*
Die spezielle Sequenz \b im Muster bedeutet eine Wortgrenze,
Daher wird nur ein isoliertes Vorkommen des Wortes „web“ gefunden
Maske, im Gegensatz zu „Gewebe“ oder „Spinnennetz“.
*/
if (preg_match("/\bweb\b/i" , „PHP ist die Web-Skriptsprache der Wahl.“)) {
Echo „Eintrag gefunden.“;
) anders (
Echo „Kein Eintrag gefunden.“;
)preg_match ("/\bweb\b/i" , „PHP ist die Website-Skriptsprache der Wahl.“)) {
Echo „Eintrag gefunden.“;
) anders (
Echo „Kein Eintrag gefunden.“;
}
?>

Ich wollte schon lange reguläre Ausdrücke verstehen. Obwohl „rausfinden“ ein starkes Wort ist. Um die große Kunst zu meistern, ein Meister der regulären Ausdrücke zu werden, müssen Sie sich ständig mit ihnen auseinandersetzen. Es reicht nicht aus, die Syntax, Sonderzeichen und Modifikatoren zu lernen – Sie müssen sie auch nutzen können. Und die Fähigkeit zur Anwendung kommt mit Erfahrung.

In diesem Beitrag werde ich Beispiele für die Verwendung regulärer Ausdrücke veröffentlichen, deren Funktionsweise ich selbst verstanden habe.

Tabelle mit Sonderzeichen

Sonderzeichen Beschreibung
\ Escape-Symbol. Beispiel: „/seo\/smo/“– entspricht der Zeile, die seo/smo enthält.
^ Beginn des Datensymbols. Beispiel: „/^seo/“– entspricht einer Zeile, die mit dem Wort „seo“ beginnt.
$ Ende des Datensymbols. Beispiel: „/blog$/“– entspricht einer Zeile, die mit dem Wort Blog endet.
. Jedes andere Zeichen als Zeilenvorschub. Beispiel: „/seo.ult/“- entspricht der Zeichenfolge seopult, seo9ult, seo@ult usw.
In diesen Klammern sind Zeichen aufgeführt, von denen jedes an einer bestimmten Stelle vorkommen kann, jedoch nur eines. Beispiel: „/seoul/“— Nur Zeilen, die seopult, seokult oder seomult enthalten, werden abgeglichen.
| Oder. Beispiel unten.
() Untermaske.
? Ein oder kein Vorkommen des vorhergehenden Zeichens oder Untermusters.
* Beliebig viele Vorkommen des vorhergehenden Zeichens oder Untermusters. Einschließlich Null.
+ Ein oder mehrere Vorkommnisse.
Beispiel: ‘/se+(op|om)?.*t/’- der Buchstabe s, dann ein oder mehrere Buchstaben e, danach kann die Kombination op oder om einmal oder auch nicht einmal vorkommen, dann beliebig viele beliebige Symbole und der Buchstabe t.
(a,b) Die Anzahl der Vorkommen des vorhergehenden Zeichens oder Untermusters von a bis b. Beispiel: (0,) – dasselbe wie *, (0,1) – dasselbe wie ?, (3,5) – 3, 4 oder 5 Wiederholungen.

Einfache Beispiele für PHP-Skripte mit regulären Ausdrücken:

1) Vorherige und nachfolgende Ausdrücke.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // ein Wort finden, in dem ing nach Box steht. Wenn das Wort gefunden wird, gibt die Funktion „true“ zurück, andernfalls „false“.$pattern1 = "/Box(?=ing)/" ; preg_match($pattern1, "Box Day"); // false preg_match ($pattern1, "Boxing Day" ) ; // WAHR // ein Wort finden, das kein ing-After-Feld hat. Wenn das Wort gefunden wird, gibt die Funktion „true“ zurück, andernfalls „false“.$pattern2 = "/box(?!ing)/" ; preg_match($pattern2, "Box für iPhone und iPad"); // true preg_match ($pattern2, „Was ist der zweite Weihnachtstag?“) ; // false preg_match ($pattern2, "css-moz-box-shadow" ) ; // WAHR // ein Wort finden, bei dem vor ing kein Kästchen steht. Wenn das Wort gefunden wird, gibt die Funktion true zurück, andernfalls false.$pattern3 = "/(?

[^<]+?~","seo blog",$text); echo $text; ?>

3) Rufen Sie den Alexa-Rangwert einer bestimmten Website ab und zeigen Sie ihn an.

1 2 3 4 5 6 7 8 9 "#
(.*?)
#si", file_get_contents ( „http://www.alexa.com/siteinfo/($url)“) , $a ); return trim (str_replace ("," , "" , strip_tags ($a [ 1 ] ) ) ); ) $alexa = alexa($url) ; echo $alexa ; ?>

(.*?)

#si", file_get_contents("http://www.alexa.com/siteinfo/($url)"), $a); return trim(str_replace(",","",strip_tags($a))); ) $alexa = alexa($url); echo $alexa;

4) Rufen Sie den Titel der Seite ab und zeigen Sie ihn an.

1 2 3 4 5 (.*)<\/title>/s" , $str , $m ); echo $m [ 1 ] ; ?>

(.*)<\/title>/s", $str, $m); echo $m; ?>

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 \n \r \t ]/", "", $content); // Ersetze Zeilenumbrüche und Tabulatorzeichen durch Leerzeichen$content = preg_replace ("/(2,)/" , " " , $content ); // mehr als 2 Leerzeichen durch eins ersetzen preg_match_all("/ ]*href=(?:"| \" )(.*)(?:"|\" )[^<>]*>(.*)<\/a>/iU", $content , $links ); // Links sammeln, wenn (sizeof ($links [ 1 ] ) > 0 ) // wenn Links gefunden werden( $out = array () ; // Array externer Links foreach ($links [ 1 ] as $v ) ( if (preg_match ("/http:\/\/(www\.)(0,1)" . $domain . "/i" , $v ) ) // Interne Links aussortieren(weiter ;) if ( preg_match ( "/(http:|https:)?\/\/(www\.)(0,1)(.*)/i", $v ) ) // externe Referenz( $out = $v ; ) ) return $out ; ) Array zurückgeben (); ) $domain = "site" ; $content = file_get_contents ("http://site/" ); $getoutlinks = getoutlinks($content, $domain) ; für ($i = 0 ; $i<= count ($getoutlinks ) ; $i ++ ) { echo $getoutlinks [ $i ] . "
" ; } ?>

]*href=(?:"|\")(.*)(?:"|\")[^<>]*>(.*)<\/a>/iU", $content, $links); // Links sammeln, wenn (sizeof($links) > 0) // wenn Links gefunden werden ( $out = array(); // Array externer Links foreach ($links as $v ) ( if (preg_match("/http:\/\/(www\.)(0,1)".$domain."/i", $v)) // Interne Links aussortieren ( continue; ) if (preg_match ("/(http:|https:)?\/\/(www\.)(0,1)(..com/"); $getoutlinks = getoutlinks($content, $domain); for ( $i = 0;<= count($getoutlinks); $i++) { echo $getoutlinks[$i]."
"; } ?>

Wo:
preg_replace– Führt Suchen und Ersetzen mithilfe eines regulären Ausdrucks durch.
preg_match– führt eine Prüfung anhand eines regulären Ausdrucks durch.
preg_match_all– findet alle Übereinstimmungen, während preg_match nur die erste findet.
file_get_contents– Den Inhalt der Datei als eine Zeile abrufen.
trimmen– Entfernt Leerzeichen am Anfang und Ende einer Zeile.
str_replace– ersetzt die Suchzeichenfolge durch eine Ersatzzeichenfolge.
strip_tags– Entfernt HTML- und PHP-Tags aus einer Zeichenfolge.
Größe von– Ruft die Anzahl der Elemente in der Variablen ab.
zählen— zählt die Anzahl der Array-Elemente oder die Anzahl der Objekteigenschaften.