Php str_replace“e不工作

时间:2014-10-15 11:08:56

标签: php

我的代码是:

        $retval = preg_match('/<img.+src=[\'"](?P<src>.+)[\'"].*>/i', $content, $image);
        $imgreal    = str_replace("&quot;", "\"", $image['src']);
        if ($retval=="0") $imgthumb = ""; else $imgthumb = "<img align='left' src='".$imgreal."' width=100 />";

我需要从字符串中提取img,但这给了我所有的时间:

"http://www.racingzone.hu/pictures/news/mid/simroc-3---nyolc-uj-auto_2012-09-21-1348222495.jpg&quot; alt=&quot;&quot; width=&quot;490&quot; height=&quot;214

如何将这些和引号更改为普通字符&#34;?

我尝试了htmlspecialchars_decode但是没有用到。

编辑:来自az sql表的字符串。

来自mysql的原始字符串:

<p><img style="float: left; margin: 3px;" src="http://www.racingzone.hu/pictures/news/mid/simroc-3---nyolc-uj-auto_2012-09-21-1348222495.jpg" alt="" width="490" height="214" /></p>
<p>todik p&uacute;ő&uacute;ő&oacute;&uuml;sztotodik p&uacute;ő&uacute;ő&oacute;&uuml;sztotodik 

TinyMCE

创建的字符串

表中的编码:latin2_hungarian_ci

1 个答案:

答案 0 :(得分:1)

为什么每个人都想用正则表达式做这些事情?

简单地:

$data='<p><img style="float: left; margin: 3px;" src="http://www.racingzone.hu/pictures/news/mid/simroc-3---nyolc-uj-auto_2012-09-21-1348222495.jpg" alt="" width="490" height="214" /></p>
<p>todik p&uacute;ő&uacute;ő&oacute;&uuml;sztotodik p&uacute;ő&uacute;ő&oacute;&uuml;sztotodik';

$a=explode('src="',$data);
if(count($a)<2)
    {
    echo 'no image';
    die;
    }

$p=strpos($a[1],'"',0);
if($p===false){
    echo 'no quote found';
    die;
    }   

$url=substr($a[1],0,$p);

echo $url;

输出:

http://www.racingzone.hu/pictures/news/mid/simroc-3---nyolc-uj-auto_2012-09-21-1348222495.jpg