2014-12-07 49 views
0
<?php 
$result = mysql_query("MYSQL query"); 
if (!$result) { 
echo 'Could not run query: ' . mysql_error(); 
exit; 
} 
$rows = mysql_fetch_row($result); 

echo $row[0]; // id 
echo $row[20]; // the extra_info field 
    ?> 

上述查詢返回的完整EXTRA_INFO字段,它是如下面如何掃描爲一個圖像的URL在查詢結果

http://example.com/ext/lib/exe/process.php?t=87458+52&w=466&h=471&:forum_pic:queue_hasb_bunny_khd_tyun_02300.jpg,入境處處理,http://example.com/storage/high分辨率/ I-白色兔子-tyun.jpg,只有現金支付,聖誕節後的過程,小心輕放通知日期:2015年2月5日

但我只需要像網址,以便做了以下

$extraFieldData = explode(',', $row[20]); 
    echo $extraFieldData[0]; 
    echo $extraFieldData[2]; 

它工作正常,但不是在所有時間extra_info字段將包含圖像網址與$ extraFieldData [0]和$ extraFieldData [2]相同的地方,所以如何檢查結果查詢中的圖像url,而不提及它們的位置?

回答

2

如果您可以確定圖像url字符串將始終包含的某些顯着特徵,則可以在數組的每個元素中檢查該特徵。舉例來說,如果你新的你正在尋找一個元素總是包含「HTTP」,你可以做這樣的事情:

$extraInfo = "http://example.com/ext/lib/exe/process.php?t=87458+52&w=466&h=471&:forum_pic:queue_hasb_bunny_khd_tyun_02300.jpg, Imm processing,http://example.com/storage/high resolution/i-white bunny-tyun.jpg,only cash payment,process after christmas, handle with care notification, date: 2-5-2015"; 

$extraFieldData = explode(',', $extraInfo); 

$images = array(); 
foreach($extraFieldData as $efd) { 
    if (strpos($efd, 'http') !== false) { 
     $images[] = $efd; 
    } 
} 

(如搜索「http」不適合自己情況的工作,你可以尋找一些其他區別特徵 - 如文件擴展名)

See demo

+0

它顯示你提到陣列 ( [0] => http://example.com/ext/lib/exe/ process.php?t = 87458 + 52&w = 466&h = 471&:forum_pic:queue_hasb_bunny_khd_tyun_02300.jpg [1] => ht tp://example.com/storage/high resolution/i-white bunny-tyun.jpg ) – vicky 2014-12-07 08:07:27

+0

有沒有一種方法可以顯示網址而不是[0] => url和[1] => url,因爲如果以這種方式顯示,則不顯示圖像。 – vicky 2014-12-07 08:09:20

+0

'foreach($ images as $ i)echo $ i;' – 2014-12-07 08:10:58