Afbeeldingen filteren
Beste mensen van phphulp,
Ik zou graag uit een broncode die ik ophaal met file_get_contents() alleen de afbeeldingen willen halen.
Moet worden:
Mvg
Pepijn
Edit:
Ik had dit al gemaakt:
Maar dit werkt niet.
Edit:
Ik heb het gevonden: preg_match_all.
Weet iemand een tut over preg_match_all?
Ik zou graag uit een broncode die ik ophaal met file_get_contents() alleen de afbeeldingen willen halen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head>
<title>hoi</title>
</head>
<body>
<img src="hoi.gif">
Hoi, hoi, hoi hoi hoi. hoi$
</body>
</html>
<head>
<title>hoi</title>
</head>
<body>
<img src="hoi.gif">
Hoi, hoi, hoi hoi hoi. hoi$
</body>
</html>
Moet worden:
Mvg
Pepijn
Edit:
Ik had dit al gemaakt:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$content = strip_tags(file_get_contents($_GET['website']), '<img>');
parse_str($content, $output);
echo $output[src][0];
?>
$content = strip_tags(file_get_contents($_GET['website']), '<img>');
parse_str($content, $output);
echo $output[src][0];
?>
Maar dit werkt niet.
Edit:
Ik heb het gevonden: preg_match_all.
Weet iemand een tut over preg_match_all?
Gewijzigd op 01/01/1970 01:00:00 door Pepijn
Gesponsorde koppelingen:
Lees even http://php.net/strip_tags die doet wat anders dan jij denkt :p
Misschien heb je hier wat aan, de rest moet je even zelf proberen :p
Misschien heb je hier wat aan, de rest moet je even zelf proberen :p
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$url = 'http://phphulp.nl';
$content = file_get_contents($url);
$pattern = '/\<[[:space:]]*img.*src=[\'|"]?([^"\']+)[\'|"].*\>/i';
preg_match_all($pattern,$content,$temp_array).PHP_EOL;
print_r($temp_array);
?>
$url = 'http://phphulp.nl';
$content = file_get_contents($url);
$pattern = '/\<[[:space:]]*img.*src=[\'|"]?([^"\']+)[\'|"].*\>/i';
preg_match_all($pattern,$content,$temp_array).PHP_EOL;
print_r($temp_array);
?>
ik heb nu het volgende:
Het werkt perfect.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$url = $_GET['url'];
$content = file_get_contents($url);
$pattern = '@<img[^>]*src="([^"]*)"@';
preg_match_all($pattern,$content,$temp_array).PHP_EOL;
foreach($temp_array[0] as $link)
{
$findme = 'http:';
$pos = strpos($link, $findme);
$link = explode('=', $link, 2);
$link = str_replace('"', '', $link);
if ($pos === false)
{
echo '<img src='.$url.'/'.$link[1].'><br>';
}
else
{
echo '<img src='.$link[1].'><br>';
}
}
?>
$url = $_GET['url'];
$content = file_get_contents($url);
$pattern = '@<img[^>]*src="([^"]*)"@';
preg_match_all($pattern,$content,$temp_array).PHP_EOL;
foreach($temp_array[0] as $link)
{
$findme = 'http:';
$pos = strpos($link, $findme);
$link = explode('=', $link, 2);
$link = str_replace('"', '', $link);
if ($pos === false)
{
echo '<img src='.$url.'/'.$link[1].'><br>';
}
else
{
echo '<img src='.$link[1].'><br>';
}
}
?>
Het werkt perfect.



