2017-01-25 1 views
0

Dieser Ausdruck findet Dateinamen in HTML-Inhalt, der Ziffern, Buchstaben und Unterstriche enthält.Preg Übereinstimmung Dateinamen von HTML-Inhalt

Aber Dateinamen wie Dateiname.txt nicht finden. Wie kann ich Ausdruck ändern, um Dateinamen mit Bindestrich und anderen zulässigen Zeichen zu finden?

+0

Definieren Sie * andere zulässige Zeichen *. –

+0

Minimal ist es Strich, nicht wahr? Im Dateinamen könnte Platz sein, aber es könnte seltsame Ergebnisse erzeugen (zB aaa .bbb könnte Dateiname oder Textdarstellung sein). Also Strich ist legaler Charakter, den ich zum Ausdruck bringen möchte. Ich habe es versucht, aber ohne Erfolg. – tomasr

Antwort

2

Angenommen, das Dateisuffix enthält keine Buchstaben/Ziffern: Ist eine Zeichenklasse wie [\w-] für Sie nicht geeignet? Was genau hast du probiert?

preg_match_all('/([\w-]+\.\w{2,4})/', $content); funktioniert bei mir für Dateinamen wie Datei name.txt

Vorsicht: der Bindestrich am Ende sein muss, andernfalls wird ein Bereich für die char Klasse von PHP angenommen wird.