2013-01-21 69 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 ..

相關問題