2013-04-03 55 views
0
<img src="http://resim.domain.com/Gazete/kucuk/03.04.2013/yenisafak_kucuk_030413.jpeg" width="96" height="126" /> 
<img src="http://resim.ihlassondakika.com/Gazete/kucuk/03.04.2013/zaman_kucuk_030413.jpeg" width="96" height="126" /> 
<img src="http://resim.ihlassondakika.com/Gazete/kucuk/03.04.2013/milliyet_kucuk_030413.jpeg" width="96" height="126" /> 
<img src="http://resim.ihlassondakika.com/Gazete/kucuk/03.04.2013/hurriyet_kucuk_030413.jpeg" width="96" height="126" /> 

preg_match_all图像并保存我的托管路径,请帮助PHP preg_match_all只在字符串日期

+0

请更清楚您想要匹配的内容。 –

+0

当第一张海报不回来时,我们不喜欢它:/ – Brent

回答

0

首先,你需要...

$str = '<img src="http://resim.domain.com/Gazete/kucuk/03.04.2013/yenisafak_kucuk_030413.jpeg" width="96" height="126" />'; 
$str = '<img src="http://resim.ihlassondakika.com/Gazete/kucuk/03.04.2013/zaman_kucuk_030413.jpeg" width="96" height="126" />' 

那么你就需要使用的preg_match拉出局

preg_match('/(<img[^>]+>)/i', $str, $matches) 

在此之后,您可以在匹配varible,回声或存储您的匹配你可以回应这些或一个接一个地存储它们。

echo $matches[0]; // first one 

echo $matches[1]; // second match 

要保存你的匹配,你需要一个循环,但你可以保存一个这样的。

$myFile = "test.txt"; 

$fh = fopen($myFile, 'w') or die("can't open file"); 
fwrite($fh, $matches[0];); 
fclose($fh); 

谢谢:)

+0

如果这是正确的,请标记为正确,因为这是您的第一篇文章。 – Brent

0

如果你想使用preg_match_all,那么我会假设输入线路都包含在一个字符串,比如$海峡。如果是这样,那么可以使用以下内容来取出路径,删除文件名,假设是这个意思。 (对不起,如果我误解了。)

$pattern="#img.+?src\s*=\s*\"(.*?)/[^/]+\.(jpeg|jpg|gif|png)#i"; 
$n = preg_match_all($pattern, $str, $matches, PREG_PATTERN_ORDER); 
for ($i = 0; $i < $n; ++$i) { 
    print $matches[1][$i] . "\n"; # or save 
} 

无论如何,希望这有所帮助。