Grab and download the php code of all image files in CSS
The highlight of this article is that the regular expression is more complicated, ?(-_-)?, and then there is a very powerful use of the Copy function.
> By the way, I just heard NsYta say that Xiao Xie’s theme is too white, which is ridiculous. I'm too busy recently and don't have time, otherwise I would create a new theme myself.
1. Capture images in CSS:
> 1. First make preparations:
> The first step is to save the original path of the CSS into the $url variable, and then save the content of the CSS in abc .css.
> Considering that multiple CSS files are often encountered, Xiaoxie did not directly fill in a CSS path.
> Instead, merge the contents of several CSS files together and stuff them all into the abc.css file. Quack.
$data = file_get_contents('abc.css');
> Then read the contents of the CSS file into the $data variable, and then use regular expressions to extract the domain name.
> Because it is considered that many image files use relative root paths, such as /img/1.gif and img/1.gif.
> Then the original address of CSS is http://www.bitsCN.com/css/, so the locations of the two files above are different.
> The first file is at /upload/201109/20110926143903807.gif, because its path uses a relative root path.
> And the second one is at /upload/201109/20110926143903169.gif, and its path is just a normal relative path.
Copy the code The code is as follows:
$url = 'http://www.bitsCN.com/css/'; preg_match('/(.*//.*?)//',$url,$host);
//Use regular expressions to extract http://www.bitsCN.com/ here. Don’t forget to add a slash in the backend.
//.*? is lazy matching, that is, the less content it can match, the less content it can match, so that it will not be overdone.
$host = $host[1];
2. Create the image storage folder:
> Xiaoxie used is_dir here to determine whether the folder exists. If it exists, there is no need to create it a second time.
> Haha, by the way, the is_file function can determine whether this file is a normal file and whether it exists.
> But file_exists() is superior, because I saw someone discussing it on Webmasterworld.com once.
if (!is_dir('img')) { mkdir('img'); }
> 3. Use regular expressions to get the relative address of the image:
$regex = '/url('{0, 1}"{0,1}(.*?)'{0,1}"{0,1})/';
//Here we use regular expressions to match the image address. Three situations need to be considered, namely url( 1.gif) url('1.gif') url("1.gif").
//These three writing methods can all be used, so let’s use the above regular rules to take out the 1.gif inside.
//'{0,1} means that single quotes may appear 1 or 0 times, " means that double quotes may appear 1 or 0 times.
//Lazy matching must be used in the middle, otherwise the result will be 1.gif " Instead of 1.gif bird, O(∩_∩)P.
preg_match_all($regex,$data,$result);
> 4. Process these images:
> First use a loop to process the first branch content array extracted using regular expressions.
> Well, the first branch here represents the first bracket in the regular expression, haha, and so on.
foreach ($result[1] as $val) { }
> Then use regular expressions to determine, because you also need to consider this /upload/201109/20110926143903807.gif.
> This uses the complete path instead of /img/1.gif or img/1.gif like others.
> So judge it separately, and then judge these two to see if it is /img/1.gif or img/1.gif.
Copy the code The code is as follows:
if (preg_match('/^http.*/',$val)) { $target = $val; }
else if (preg_match('/^/.*/',$val) ) { $target=$host.$val; }
else { $target=$url.$val; }
echo $target."
rn";
> Finally, take out the file name, That is, 1.gif in /img/1.gif is used to save files.
Copy code The code is as follows:
preg_match('/.*/(.*.D+)$/',$val,$name);
> Then we can start downloading, here we will introduce a powerful Copy Function usage.
Copy the code The code is as follows:
if (!is_file('./img/'.$name[1])) {
$imgc = file_get_contents($target);
$handle = fopen('./img/'. $name[1],'w+');
fwrite($handle,$imgc);
fclose($handle);
}
> The above is our old method, quack, it is very troublesome. One time, Xiao Xie suddenly discovered the power of Copy.
> Copy can actually be downloaded, so you can easily use the following code to process it, and the above one can be retired.
Copy code The code is as follows:
if (!is_file('./img/'.$name[1])) {
copy($target,'./img/'.$name[1]);
}
> 5. Complete source code:
> Just fill in $url when using it, and then save all CSS content to abc.css.
Copy the code The code is as follows:
$url = 'http://www.bitsCN.com/css/';
$data = file_get_contents('abc.css');
preg_match('/(. *//.*?)//',$url,$host);
$host = $host[1];
if (!is_dir('img')) { mkdir('img'); }
$ regex = '/url('{0,1}"{0,1}(.*?)'{0,1}"{0,1})/';
preg_match_all($regex,$data,$result );
foreach ($result[1] as $val) {
if (preg_match('/^http.*/',$val)) { $target = $val; }
else if (preg_match('/^ /.*/',$val)) { $target=$host.$val; }
else { $target=$url.$val; }
echo $target."
rn";
preg_match('/.*/(.*.D+)$/',$val,$name);
if (!is_file('./img/'.$name[1])) {
copy($target ,'./img/'.$name[1]);
}
}?>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

To set up the Bootstrap framework, you need to follow these steps: 1. Reference the Bootstrap file via CDN; 2. Download and host the file on your own server; 3. Include the Bootstrap file in HTML; 4. Compile Sass/Less as needed; 5. Import a custom file (optional). Once setup is complete, you can use Bootstrap's grid systems, components, and styles to create responsive websites and applications.

There are two ways to create a Bootstrap split line: using the tag, which creates a horizontal split line. Use the CSS border property to create custom style split lines.

There are several ways to insert images in Bootstrap: insert images directly, using the HTML img tag. With the Bootstrap image component, you can provide responsive images and more styles. Set the image size, use the img-fluid class to make the image adaptable. Set the border, using the img-bordered class. Set the rounded corners and use the img-rounded class. Set the shadow, use the shadow class. Resize and position the image, using CSS style. Using the background image, use the background-image CSS property.

How to use the Bootstrap button? Introduce Bootstrap CSS to create button elements and add Bootstrap button class to add button text

To adjust the size of elements in Bootstrap, you can use the dimension class, which includes: adjusting width: .col-, .w-, .mw-adjust height: .h-, .min-h-, .max-h-
