PHP变量执行问题,帮忙看看是哪里不对

<?
$pic = "[pic]";
ob_start();
echo $pic;  
$str = ob_get_contents(); 
ob_end_clean();  
echo $str;
echo '<img src="'.htmlspecialchars(phpThumbURL('src='.$str.'&w=300', '/Thumb/thumbs.php')).'">';
?>

执行出来就是不对

echo $str;为

upload/1.jpg

upload/2.jpg

upload/3.jpg

echo '<img src="'.htmlspecialchars(phpThumbURL('src='.$str.'&h=342', '/Thumb/thumbs.php')).'">';为

<img src="/Thumb/thumbs.php?src=%3Apic%5D&amp;w=300 ">

<img src="/Thumb/thumbs.php?src=%3Apic%5D&amp;w=300">

<img src="/Thumb/thumbs.php?src=%3Apic%5D&amp;w=300">

求解答

你代码发全了?$echo $str;应该是输出[pic]吧..怎么有图片路径