嘿,伙计们,我有以下代码:
foreach($collection as $img)
{
$image_id = $img['imageid'];
$thumbwidget = wp_get_attachment_image_src($image_id, 'full');
$gallery .= '<a class="fav-image-a" href="http://www.bangstyle.com/haircut-detail/?uid='.$uid.'&img_id='.$image_id.'&ucolid='.$user_id.'&catid='.$col_id.'&theater">';
$gallery .= '<img src="';
$gallery .= thumbGen($thumbwidget[0],259,320,'valing=top');
$gallery .= '">';
$gallery .= '</a>';
}
我想我可能有错误的转义顺序。渲染变量在渲染时不会停留在img src
中。我想这和我逃到某个地方有关。
live url
可见于http://bangstyle.com/test-widget/
你可以看到发生了什么。呈现的元素在顶部
为什么里面有额外的引号?你正在生成的是:
<img src="'THUMBWIDGETURL_IS_INSERTED_HERE'">
你可能想要的是:
<img src="THUMBWIDGETURL_IS_INSERTED_HERE">
要做到这一点,只需删除额外的':
$gallery .= '<img src="'.$thumbwidgeturl.'">';
注意事项:
- 在PHP中,单引号和双引号都可以用来生成字符串字面值。
- 每一个应该在一对中使用,这一对构成一个字符串字面值。因此,在您的示例中,您有两个字符串字面量和一个变量与点(
.
)操作符组合(连接)。 - 在单引号内,单引号需要转义,在双引号内,双引号需要转义。其他类型的引号可以自由使用,不需要转义。
- 单引号内的字符串按原样处理,双引号内的字符串解释为变量。
- PHP文档中关于字符串的更多信息。
这个怎么样:
$gallery .= "<img src="" . $thumbwidgeturl . "">";
甚至:
$gallery .= '<img src="' . $thumbwidgeturl . '">';