/ / Ich kann diesen regulären Ausdruck nicht zum Funktionieren bringen - regulärer Ausdruck, URL, Preg-Match, Ausdruck, Match

Ich kann nicht erreichen, dass dieser Regex ordnungsgemäß funktioniert - Regex, URL, Preg-Match, Ausdruck, Match

Ich versuche verzweifelt, John Grubers URL zu veranlassen, Regexe zu erkennen, um richtig zu arbeiten! Die einfache Funktion, die ich geschrieben habe, gibt immer false zurück, auch wenn eine krasse URL enthalten ist!

Ich versuche, in 2 verschiedenen Funktionen auf URLs und webspezifische URLs zu testen. Ich bin ziemlich neu bei Regexs, also bin ich es mit ziemlicher Sicherheit!

Funktion:

<?php
function isweburl($url)
{
return(preg_match("(?i)b((?:https?://|wwwd{0,3}[.]|[a-z0-9.-]+[.][a-z]{2,4}/)(?:       [^s()<>]+|(([^s()<>]+|(([^s()<>]+)))*))+(?:(([^s()<>]+|(([^s()<>]+)))*)|[^s`!    ()[]{};:"".,<>?«»“”‘’]))", $url));

}

function isanyurl($url)
{
echo "suspected url:$url<br>";
return(preg_match("/(?i)b((?:https?://|wwwd{0,3}[.]|[a-z0-9.-]+[.][a-z]{2,4}/)(?:    [^s()<>]+|(([^s()<>]+|(([^s()<>]+)))*))+(?:(([^s()<>]+|(([^s()<>]+)))*)|[^s`!    ()[]{};:"".,<>?«»“”‘’]))/", $url));

}

$test=isanyurl("http://www.sega.com");
var_dump($test);
echo "<br>web test:<br>";
$test=isweburl("http://www.sega.com");
var_dump($test);
?>

Vielen Dank im Voraus für jede Hilfe!

Antworten:

1 für die Antwort № 1

Unten ist Ihr regulärer Ausdruck.
Ich denke, preg_match braucht einen Regex-Delimeter "/ regex /" oder "~ regex ~".
Wenn Sie das Delimeter jedoch als Zeichen im regulären Text verwenden, muss es maskiert werden.

"
(?i)b
(
(?:
https?://
|  wwwd{0,3}[.]
|  [a-z0-9.-]+[.][a-z]{2,4}/
)
(?:
[^s()<>]+
|  (
(
[^s()<>]+
|
(
([^s()<>]+)
)
)*
)
)+
(?:
(
(
[^s()<>]+
|
(
([^s()<>]+)
)
)*
)
|  [^s`!    ()[]{};:"".,<>?«»“”‘’]
)
)
"

Seit Ihrer Verwendung / Versuchen Sie, als Zeichen einen anderen Begrenzer zu verwenden.
Erweitert -

"~
(?i)b
(
(?:
https?://
|  wwwd{0,3}[.]
|  [a-z0-9.-]+[.][a-z]{2,4}/
)
(?:
[^s()<>]+
|  (
(
[^s()<>]+
|
(
([^s()<>]+)
)
)*
)
)+
(?:
(
(
[^s()<>]+
|
(
([^s()<>]+)
)
)*
)
|  [^s`!    ()[]{};:"".,<>?«»“”‘’]
)
)
~x"