回显字符串中的PHP嵌套变量,最后包含HTML标记.
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了回显字符串中的PHP嵌套变量,最后包含HTML标记.,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2467字,纯文字阅读大概需要4分钟。
内容图文
![回显字符串中的PHP嵌套变量,最后包含HTML标记.](/upload/InfoBanner/zyjiaocheng/695/c8e79d2d3b7847e39367d6c969344f28.jpg)
需要PHP的帮助
我需要在html标记内添加if语句
if( get_field($image) ):
?><img src="<?php the_field($image); ?>" alt="" /><?php
endif;
我想在下面的html标签内添加if语句代替img和a,这可能吗?
echo
"<$html class=\"" .(!empty($this->options['class']) ? trim($thesis->api->esc($this->options['class'])) : ''). "\">
// I want this if statement to work inside here...how do i escape the html to make it work?
if( get_field($image) ):
?><img src="<?php the_field($image); ?>" alt="" /><?php
endif;
<img src=\"" .get_field($image)."\" alt=\"\" />
<a href=\"".get_field($download). "\"> Download File</a>
</$html>\n";
解决方法:
将PHP运算符放入HTML
首先,不要使用echo语句吐出大量的HTML,这会使代码很难维护和重用.这难道不是很容易吗?
<a href='<?php echo $some_variable; ?>'>
在HTML块中使用PHP逻辑(常规)
您正在寻找这样的东西:
<?php if(!empty($image)): ?>
<img src='<?php echo $image; ?>' alt='Some Stuff'>
<?php endif; ?>
这是一个称为ternary operator的简写等价物,在代码中可能更容易阅读:
<?php echo empty($image) ? null : "<img src='$image' alt='Some Stuff'>"; ?>
如果$image有一个值,它将回显一个图像标签,如果没有,则不返回任何值.
让我们收拾&修复原始帖子中的代码…
您的代码似乎已被故意混淆以使人们感到困惑.学会缩进,不要在逻辑中嵌入逻辑.优先考虑可读性,您的代码将易于维护.
if(!empty($text))
echo
"<$html class=\"" .(!empty($this->options['class']) ? trim($thesis->api->esc($this->options['class'])) : ''). "\">
<img src=\"" .get_field($image)."\" alt=\"\" /> " .get_field($text)."
<a href=\"".get_field($download). "\"> Download File</a>
</$html>\n";
这里有很多可以改进的地方.首先,尽可能将业务逻辑与显示逻辑分开:
商业逻辑
<?php
// This should be in another FILE ideally...
$this->divClass = empty($this->options['class']) ? null : trim($thesis->api->esc($this->options['class']));
$this->image = the_field($image);
$this->download = the_field($download);
$this->text = // I dont know how you're setting this.
?>
显示逻辑
接下来,丢失get_field函数,如果找不到the_field,则将空返回值添加到the_field,这样您就可以获得更干净的代码.然后,只需使用以下内容:
<?php if(!isset($this->text)): ?>
<div class='<?php echo $divClass; ?>'>
<?php if(!isset($this->image) && !isset($this->download)): ?>
<img src='<?php echo $this->image; ?>'>
<a href='<?php echo $this->download; ?>'>Download File</a>
<?php endif; ?>
</div>
<?php endif; ?>
<?php>标签在那里可以为您提供帮助,它们使您能够以大多数语言不得不采用难看的外部模板的方式将PHP代码与HTML代码进行清晰的内插.使用它们,保持代码的可读性和可理解性,不要采用捷径,因为它们会再次咬住您.
内容总结
以上是互联网集市为您收集整理的回显字符串中的PHP嵌套变量,最后包含HTML标记.全部内容,希望文章能够帮你解决回显字符串中的PHP嵌套变量,最后包含HTML标记.所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。