Heim  >  Artikel  >  Backend-Entwicklung  >  Reguläre PHP-Ausdrücke in Aktion: Passende Audio-Links

Reguläre PHP-Ausdrücke in Aktion: Passende Audio-Links

WBOY
WBOYOriginal
2023-06-22 21:47:081183Durchsuche

Mit der Entwicklung der Audiobranche müssen immer mehr Websites und Anwendungen die automatische Identifizierung und Einbettung von Audiolinks unterstützen. Im Implementierungsprozess von Entwicklern ist es eine gängige Methode, reguläre Ausdrücke zum Abgleichen von Audiolinks zu verwenden. In diesem Artikel erfahren Sie, wie Sie Audio-Links abgleichen und Schlüsselinformationen in regulären PHP-Ausdrücken extrahieren.

  1. Analysieren Sie die Struktur des Audiolinks.

Bevor wir den Audiolink abgleichen, müssen wir die Struktur des Audiolinks verstehen. Im Allgemeinen umfasst der Audiolink die folgenden Teile:

  • Protokoll: wie http, https, ftp usw.
  • Domänenname oder IP-Adresse: bezieht sich auf den Domänennamen oder die IP-Adresse des Servers, auf dem sich die Audioressource befindet.
  • Portnummer: bezieht sich auf die Portnummer, die für den Zugriff auf Audioressourcen verwendet wird.
  • Pfad: bezieht sich auf den Pfad der Audioressource auf dem Server.
  • Dateiname: bezieht sich auf den Namen der Audiodatei.
  • Erweiterung: bezieht sich auf die Erweiterung der Audiodatei. Zu den häufigsten gehören MP3, WAV, OGG usw.

Hier ist zum Beispiel ein typischer Audio-Link:

http://www.example.com:8080/music/album01/song01.mp3
  1. Reguläre Ausdrücke verwenden, um Audio-Links abzugleichen

Mit einem Verständnis der Struktur von Audio-Links können wir reguläre Ausdrücke verwenden, um Audio-Links abzugleichen. Angenommen, wir möchten alle Audio-Links aus einer HTML-Seite extrahieren, können wir den folgenden regulären Ausdruck schreiben:

$pattern = '/<a[^>]+href=["|']?([^"'s]+.mp3)["|']?[^>]*>(.*)</a>/iU';

Dieser reguläre Ausdruck stimmt zunächst mit der Zeichenfolge überein, die mit .mp3 im href-Attributwert endet. Beachten Sie, dass hier der Non-Greedy-Modus (U) verwendet wird, um zu vermeiden, dass Teile mehrerer Links übereinstimmen.

  1. Schlüsselinformationen des Audiolinks extrahieren

Nachdem wir reguläre Ausdrücke verwendet haben, um den Audiolink abzugleichen, müssen wir auch Schlüsselinformationen daraus extrahieren, wie Protokoll, Domänenname, Pfad, Dateiname usw. Sie können die integrierten Funktionen von PHP verwenden, um diesen Schritt zu erreichen.

Zum Beispiel können wir die Funktion parse_url() verwenden, um das Protokoll, den Domänennamen, den Pfad und den Dateinamen im Link zu extrahieren:

$url = 'http://www.example.com:8080/music/album01/song01.mp3';
$parse = parse_url($url);
$scheme = $parse['scheme']; // 返回"http"
$host = $parse['host']; // 返回"www.example.com"
$port = $parse['port']; // 返回"8080"
$path = $parse['path']; // 返回"/music/album01/song01.mp3"
$filename = basename($path); // 返回"song01.mp3"

Es ist zu beachten, dass die Funktion parse_url() den Dateinamen nicht direkt extrahieren kann Zum Extrahieren muss die Funktion basename() verwendet werden.

  1. Dekodierung der URI-Kodierung

In einigen Fällen können Pfade und Dateinamen in Links URL-kodiert sein. Sie können zum Dekodieren die Funktion urldecode() in PHP verwenden.

Zum Beispiel können wir den folgenden Code verwenden, um Pfade und Dateinamen in Links zu dekodieren:

$path = urldecode($path);
$filename = urldecode($filename);
  1. Vollständiges Codebeispiel

Schauen wir uns abschließend ein vollständiges Codebeispiel an, das die Schlüsselinformationen aus einer HTML-Seite extrahiert und ausgibt aller Audio-Links:

$html = '......';
$pattern = '/<a[^>]+href=["|']?([^"'s]+.mp3)["|']?[^>]*>(.*)</a>/iU';
preg_match_all($pattern, $html, $matches);
$urls = $matches[1];
foreach ($urls as $url) {
    $parse = parse_url($url);
    $scheme = $parse['scheme'];
    $host = $parse['host'];
    $port = $parse['port'];
    $path = $parse['path'];
    $filename = basename($path);
    $path = urldecode($path);
    $filename = urldecode($filename);
    echo "协议:$scheme
"; echo "域名:$host
"; echo "端口号:$port
"; echo "路径:$path
"; echo "文件名:$filename

"; }

Wie Sie dem obigen Codebeispiel entnehmen können, ist es nicht schwierig, reguläre Ausdrücke zu verwenden, um Audio-Links abzugleichen und Schlüsselinformationen zu extrahieren. Um dies zu erreichen, müssen Entwickler lediglich reguläre Ausdrücke und integrierte PHP-Funktionen kombinieren es.

Das obige ist der detaillierte Inhalt vonReguläre PHP-Ausdrücke in Aktion: Passende Audio-Links. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn