我有这样一段代码(见下文),我在回显变量时遇到了问题。在第5行是一个回声,在回声中是一个加载的html (我已经省略了引号)和一个变量的加载。我不能让变量在主回声中回显出来。
更新:还有一个需要考虑的onclick。
<?php
if(
in_array("Branding", get_field('categories')) && $grid_title == "Branding"
){
echo "
<div class=\"grid-box\" onclick=\"location.href='<?php echo get_page_link($post->ID) ?>';\" style=\"cursor: pointer;\">
<div class=\"phase-1\">
<img class=\"grid-image\" src=\"<?php echo $fields->thumb_image; ?>\" alt=\"<?php echo $fields->company_name; ?>\" height=\"152\" width=\"210\" />
<div class=\"grid-heading\">
<h2><?php echo $fields->company_name; ?></h2>
<h3><?php echo implode(', ',get_field('categories'));?></h3>
</div>
</div>
<div class=\"phase-2\">
<div class=\"grid-info\">
<h4><?php echo $fields->project_name; ?></h4>
<p><?php echo $fields->description; ?></p>
</div>
<div class=\"grid-heading-hover\">
<h2><?php echo $fields->company_name; ?></h2>
<h3><?php echo implode(', ',get_field('categories'));?></h3>
</div>
</div>
</div>
";
}
?>发布于 2011-05-19 18:28:35
你不能在echo中使用echo,你只需要像这样正确地连接你的字符串:
$Content = "
<div class=\"grid-box\" onclick=\"location.href='" . get_page_link($post->ID). "';\" style=\"cursor: pointer;\">
<div class=\"phase-1\">
<img class=\"grid-image\" src=\"" . $fields->thumb_image . "\" alt=\"" . $fields->company_name. "\" height=\"152\" width=\"210\" />
<div class=\"grid-heading\">
<h2> " . $fields->company_name . "</h2>
<h3>" . implode(', ',get_field('categories')) . "</h3>
</div>
</div>
<div class=\"phase-2\">
<div class=\"grid-info\">
<h4>" . $fields->project_name . "</h4>
<p>" . $fields->description . "</p>
</div>
<div class=\"grid-heading-hover\">
<h2>" . $fields->company_name . "</h2>
<h3>" . implode(', ',get_field('categories')). "</h3>
</div>
</div>
</div>";
echo $Content;发布于 2011-05-19 18:30:45
你好像有点误会了。
在PHP中,您可以通过以下方式输出HTML
<?php...?>外编写简单的HTML,并可能在echo / print的内容输出包含HTML代码< PHP string >F29>的代码。但你不能把两者混为一谈。
所以这并不好:
echo "... src=\"<?php echo $fields->thumb_image; ?>\" ...";因为这是一个字符串,并且在字符串中不能打开<?php节。相反,您应该这样做:
echo "... src=\"{$fields->thumb_image}\" ...";这是在字符串中插入PHP变量的一种很酷的方式。
发布于 2011-05-19 18:28:29
像这样的东西
echo " ... <?php ... ?> ...";不会起作用。
取而代之的是,你可以“破解”php,比如:
...
?>
<div class="grid-box" onclick="location.href='<?php echo get_page_link($post->ID) ?>';" style="cursor: pointer;">
<div class="phase-1"> ... <?php或使用s/printf
printf(
'<div class="grid-box" onclick="location.href='%s';" style="cursor: pointer;">',
get_page_link($post->ID)
);或者使用字符串连接:
echo "html ...", get_page_link($post->ID), "some more html...";或者使用某种模板代码。
https://stackoverflow.com/questions/6057153
复制相似问题