2013-01-21 46 views
0

我有这个变量$img = $_POST['cur_image'];如何提取某些字符串的第一个图像

其中cur_image的内容和因此$ IMG是:

<img style="display: inline;" src="http://news.bbcimg.co.uk/media/images/65348000/jpg/_65348094_belreuters.jpg" id="1" width="100"><img style="display: none;" src="http://news.bbcimg.co.uk/media/images/65356000/jpg/_65356067_65356066.jpg" id="2" width="100"><img style="display: none;" src="http://news.bbcimg.co.uk/media/images/65367000/jpg/_65367308_coffee.jpg" id="3" width="100"><img style="display: none;" src="http://news.bbcimg.co.uk/media/images/65376000/jpg/_65376729_heart.jpg" id="4" width="100"> 

所以我需要提取只有第一个图像的链接,我得到了即 (http://news.bbcimg.co.uk/media/images/65348000/jpg/_65348094_belreuters.jpg)

,比发送到DB如

mysql_query("INSERT INTO `table` (img) VALUES ('$img')"); 

回答

0

这样的事情呢? (未经测试)

$tmp_img = $_POST['cur_image']; 

$img_path_offset = strpos($tmp_img, "src=") + 4; 
$img_path_end = strpos($tmp_img, "\"", $img_path_offset); 

$img = substr($tmp_img, $img_path_offset, $img_path_length); 

然后运行你的MySQL ..

干杯,维戈

+0

或者看看这里:http://stackoverflow.com/questions/3627489/php-parse-html-code – ViggoV

+0

肯定“唯一的问题是,这是==>”http://graphics8.nytimes.com/image...有一个“之前的链接,并没有得到,直到.jpg布其余si正确...如何我可以调整吗? –

+0

对不起,添加5而不是4排除第一个“: $ img_path_offset = strpos($ tmp_img,”src =“)+ 5; 您可能需要调整数字以获取所需的确切字符串.. – ViggoV

0

使用的preg_match你可以这样做:

$tmp_img = $_POST['cur_image']; 
$match = "src=[\"'](.+?)[\"']" 
preg_match($match, $tmp_img, $matches_array); 
$img = substr($matches_array[0], 4, -1); 

然后你的MySQL ..

相关问题