用PHP提取部分字符串

时间:2012-03-12 13:51:58

标签: php string extract

  

可能重复:
  How to extract img src, title and alt from html using 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应为/avatars/admin.jpg

问题是/avatars/admin.jpg是当前登录用户的头像的路径,因此它是动态更改的。

如何以最简单的方式获取$out

6 个答案:

答案 0 :(得分:1)

好吧,如果这是你需要处理的唯一HTML,你可能会使用正则表达式...

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

答案 1 :(得分:0)

看看http://php.net/manual/de/function.substr.phphttp://php.net/manual/de/function.strpos.php

你可以使用两者的组合,例如substr($ string,strpos('src =“')+ 5,strpos('。jpg')+ 4);

我没有尝试过,因为我真的不知道你想要什么“提取”,但现在你得到了基本的想法;)

g.r。

答案 2 :(得分: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

答案 3 :(得分: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; //

感谢

答案 4 :(得分: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];
?>

答案 5 :(得分: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);