2012-03-12 45 views
0

可能重複:
How to extract img src, title and alt from html using php?部分用PHP

這將是字符串的示例:

$src = '<img src="/avatars/admin.jpg" class="avatar 23 avatar-30 avatar-default" height="30" width="30" style="width: 30px; height: 30px;" alt="avatar">'; 

$out建議立即進行刪除d是/avatars/admin.jpg

問題是/avatars/admin.jpg是當前登錄用戶的化身的路徑,因此它是動態更改的。

如何以最簡單的方式得到$out

+0

我PHP小白,我只知道如何使用jQuery .attr()來做到這一點,但是這是不好解決。我會感激只是爲了準則,開始的地方。 – enloz 2012-03-12 13:54:44

+0

@enloz你可以像alex提到的那樣做。在 之前詢問過相同的問題[http://stackoverflow.com/questions/138313/how-to-extract-img-src-title-and-alt-from-html-using-php](http://stackoverflow .COM /問題/ 138313 /如何對提取物IMG-SRC-冠軍和ALT-從-HTML-使用的PHP) – 2012-03-12 14:00:37

回答

1

好吧,如果這是你需要處理的只是HTML,你很可能逃脫正則表達式...

preg_match('/\ssrc="([^"]+)"/', $src, $matches); 
0

任何機會,你可以設置該字符串爲:

$str = '<img src="/avatars/$avatar.jpg" class="avatar 23 avatar-30 avatar-default" height="30" width="30" style="width: 30px; height: 30px;" alt="avatar">';

否則,我會使用str_replace

0

使用本

function get_string_between($string, $start, $end){ 
    $string = " ".$string; 
    $ini = strpos($string,$start); 
    if ($ini == 0) return ""; 
    $ini += strlen($start); 
    $len = strpos($string,$end,$ini) - $ini; 
    return substr($string,$ini,$len); 
} 

$fullstring = "$src = '<img src="/avatars/admin.jpg" class="avatar 23 avatar-30 avatar-default" height="30" width="30" style="width: 30px; height: 30px;" alt="avatar">'; 
"; 
$parsed = get_string_between($fullstring, "<img src=", " class="); 

echo $parsed; // 

感謝

0

試試喜歡這個。

<?php 
$src = '<img src="/avatars/admin.jpg" class="avatar 23 avatar-30 avatar-default" height="30" width="30" style="width: 30px; height: 30px;" alt="avatar">'; 
$regex = '|src="(.+?)"|'; 
preg_match($regex,$src,$match); 
$out = $match[1]; 
?> 
0

只需使用substrstrpos

$src = '<img src="/avatars/admin.jpg" class="avatar 23 avatar-30 avatar-default" \ 
height="30" width="30" style="width: 30px; height: 30px;" alt="avatar">'; 

$start = strpos($src, '"') + 1; 
$end = $start + strpos($src, '"', $start - 1) - 1; 
echo substr($src, $start, $end);