Ich habe in der Vergangenheit viele Projekte mit RegEx gemacht, hier ein paar meiner Fragen.
Übereinstimmung "Jeder" Link auf einer Seite.
$links = preg_match_all('#(?:<a\s+.*?href=[\'"]([^\'"]+)[\'"]\s*?.*?>((?:\s*(?!<\s*\/\s*a\s*>).\s*)*)<\s*\/\s*a\s*>)#i',$html,$patterns);
// $patterns[0] (array) will give you the full tag <a herf="" ...etc
// $patterns[1] (array) will give you the urls
Sie sollten print_r($patterns)
sicher sein, was die tatsächliche Arrays aussehen und wie wollen Sie sie nutzen.
Um <script>
Tags (das tatsächlich findet vollständige Javascript-Blöcke, die möglicherweise nicht genau das, was Sie Fragen), jedoch können Sie den Code einige ändern.
preg_match_all("#<\s*script[^>]*[^/]>(.*?)<\s*/\s*script\s*>#i",$html,$scripts);
Passend Sie diese Funktion nutzen zu können (matches "jeder" iframe-Tag in HTML)
function html_iframe_tags($str)
{
$iframes = array();
$iframeSearch = preg_match_all('#(?:<iframe[^>]*)(?:(?:/>)|(?:>.*?</\s*iframe>))#i', $str, $rawiframes);
if (count($rawiframes[0])<1) return false;
for ($i = 0; $i < count($rawiframes[0]); $i++)
{
$iframes[$i]['tag'] = $rawiframes[0][$i];
preg_match_all('/src="([^"]*)"/i',$iframes[$i]['tag'], $iframesrc);
$iframes[$i]['src'] = (isset($iframesrc[1][0]) ? $iframesrc[1][0] : '');
preg_match_all('/\swidth="([^"]*)"/i',$iframes[$i]['tag'], $iframewidth);
$iframes[$i]['width'] = (isset($iframewidth[1][0]) ? $iframewidth[1][0] : '');
preg_match_all('/\sheight="([^"]*)"/i',$iframes[$i]['tag'], $iframeheight);
$iframes[$i]['height'] = (isset($iframeheight[1][0]) ? $iframeheight[1][0] : '');
}
return $iframes;
}
Dann print_r()
die Ergebnisse und sehen, wie das Array für Ihre genaue Nutzung sieht, diese Funktion bestimmt tatsächlich mehr als Ihre Verwendung wie Breite/Höhe usw. Aber auch die src
von denen Sie suchen.
Hoffentlich kann dir dieses Zeug die Richtung für dein Projekt geben. Hier
ist eine Website, die einen Bezug hat Regex in html
http://www.the-art-of-web.com/php/parse-links/
Versuchen Sie, alle URLs zu ermöglichen? Was ist das Ziel hier? – timothymarois
@Idealcastle Ja, ich möchte alle oben aufgeführten Tags und URLs für die Zwecke der Anzeige erlaubt. –