0

大家好,我有以下代码:

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/看到

你可以看到发生了什么。渲染的元素在顶部。

4

2 回答 2

3

为什么里面有多余的引号?你正在生产的是这样的:

<img src="'THUMBWIDGETURL_IS_INSERTED_HERE'">

你可能想要的是这样的:

<img src="THUMBWIDGETURL_IS_INSERTED_HERE">

为此,只需删除额外的 \':

$gallery .= '<img src="'.$thumbwidgeturl.'">';

需要注意的规则:

  • 在 PHP 中,单引号和双引号都可以用来生成字符串文字。
  • 每个都应该成对使用,并且该对构成一个字符串文字。因此,在您的示例中,您有两个字符串文字和一个与点 ( .) 运算符组合(连接)的变量。
  • 单引号内,单引号需要转义,双引号内,双引号需要转义。每个中的其他类型的引号可以自由使用而无需转义。
  • 单引号内的字符串按原样获取,而双引号内的字符串被解释为变量。
  • 有关字符串的 PHP 文档中的更多信息。
于 2013-06-13T17:43:57.763 回答
1

这个怎么样:

$gallery .= "<img src=\"" . $thumbwidgeturl . "\">";

甚至:

$gallery .= '<img src="' . $thumbwidgeturl . '">';
于 2013-06-13T17:43:15.383 回答