2017-02-16 1 views
3

ich einen regulären Ausdruck haben, wie folgt:Wie neue Zeile schließen " n" in PHP Regex

$regex = '/(https?\:\/\/|www)[^(\"|\\\) ]+/i'; 

Was ich einfach die URL aus der folgenden extrahieren möchten: Mein

Here is some dummy text http://testwebsite.com.eu\n\nIf you don't like this dummy text then tough luck. 

Ergebnis liefert

http://testwebsite.com.eu 

If 

Wie kann ich meine Regex ändern, damit es die \ n bei der Suche beinhaltet?

Bearbeiten - ein Link zu meiner Regex101 Abfrage funktioniert. Aber beim Versuch, es in PHP zu implementieren, tut es das nicht. Bitte beachten Sie, dass ich den PHP über CLI ausführe. https://regex101.com/r/lNovMJ/1

+1

durch Hinzufügen/[\ r \ n]/ –

+1

In regex, die cariage Rückkehr wird vertreten durch '\ r' – Nicolas

+0

Was ist Zweck' [^ (\ "| \\\)] +' in Ihrem Regex? – anubhava

Antwort

4

können Sie diese Regex verwenden, damit es funktioniert:

~\b(?:https?://|www)[^"\\\s]+~ 

\s innerhalb negierte Zeichenklasse entsprechen, werden nicht mehr, wenn wir keine Leerzeichen (einschließlich Zeilenumbrüche) begegnen.

RegEx Demo