Jump to content

[SOLVED] parse import url


Stephen

Recommended Posts

I am trying to parse something that looks like this:

<style type="text/css">/*\*/@import url(http://www.site.com/css/global.css);/**/</style>
<style type="text/css">/*\*/@import url(http://www.site.com/css/home.css);/**/</style>

and retrieve just the URL contained in the parenthesis.

However, every regex expression I've tried fails, such as /<style\s[^>]*>\/\*\\\*\/@import url\(\s[^>]*\);\/\*\*\/<\/style>/

 

Please note that I completely fail at regex and any expression that actually works will be appreciated :)

Link to comment
https://forums.phpfreaks.com/topic/163681-solved-parse-import-url/
Share on other sites

<?php
$html = <<<HTML
<style type="text/css">/*\*/@import url(http://www.site.com/css/global.css);/**/</style>
<style type="text/css">/*\*/@import url(http://www.site.com/css/home.css);/**/</style>
HTML;

if(preg_match_all('/<style\s[^>]*>\\/\\*\\\\\*\\/@import url\(([^>]*?)\);\\/\\*\\*\\/<\\/style>/',$html,$matches)){
  foreach($matches[1] as $url){
    print $url.'<br />';
  }
}else{
  print "No matches";
}
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.