foreach($ret as $object)
{
$res = $object->...;
$img_src = $res[0]->src;
echo $img_src . '<br />';
echo str_replace("&size=2", "", $img_src) . '<br /><br />';
}
$img_src
〜'http://site.com/img.jpg&size=2'
我必须收到相同的链接但没有&size=2
。为什么我的代码中的最后一行不起作用。它显示了相同的网址。
答案 0 :(得分:2)
您是否绝对确定源字符串中存在任何愚蠢的不可打印字符?尝试使用它进行调试:
printf("%s\n", join(':', str_split($img_src)));
并确保确实在字符串中包含&amp; size = 2。如果你看到两个连续的冒号,你就会有类似于\ 0或其他角色的东西在你的字符串中间弄乱你的作品。
答案 1 :(得分:0)
似乎在这方面工作:
http://site.com/img.jpg&size=2
http://site.com/img.jpg
这
<?php
$img_src = 'http://site.com/img.jpg&size=2';
echo $img_src.'<br />';
echo str_replace("&size=2", "", $img_src).'<br/><br/>';
?>
答案 2 :(得分:0)
使用preg_replace:
$c=preg_replace("/&size=2/","",$img_src);
使用示例
<?php
$sr="http://site.com/img.jpg&size=2";
echo preg_replace("/&size=2/","",$sr);
?>
这将输出
http://site.com/img.jpg