从包含特定单词的一堆文本中获取一个字符串行

时间:2011-09-22 15:52:58

标签: php string

我有一些由FCKEditor生成的代码,例如。如下:

$content = "<p>some text with some tags and so on.. [here is html tag image source with image url] another some text with some tags and so on.. </p>";

我将所有这些代码分配到名为$content的变量中。

我想“提取”并仅从$content grep图像源网址并将结果放入变量$img_url,这样我就可以回显$img_url

任何想法我该怎么做?

2 个答案:

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

echo $img_url = get_string_between($content,'<img src="','</img>');

如果你有多个,那么你应该爆炸$ content并使用你想要的功能。

答案 1 :(得分:0)

$content = '<p style="text-align: center; "><img width="300" height="225" style="padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; margin-right: 5px; " border="2" align="left" alt="" src="/datafitur/news_img/1/201109/Steve-Jobs.jpg" /><b><span style="font-size:14.0pt;mso-bidi-font-size:.....</p>'

$explodeContent = explode('src=', $content);
$explodeSrc  = strstr($explodeContent[1], '/>', true);
$explodeSrc = trim($explodeSrc,'"');
$explodeSrc = trim($explodeSrc,' ');

编辑:

我已经改为使用strstr而不是在第二步中爆炸。