添加$ var简介$ var

时间:2015-08-28 08:21:45

标签: php html css variables

我是php的新手,但我需要修改一些字符串,以便添加一个带有rel intro的链接,一个视觉作曲家短代码,一个动画图标。 问题是我有这个变量,默认情况下我应该只添加两个变量。

这是原始代码:

$svg_icon = '<div class="svg-icon-holder" data-size="'. $icon_size . '" data-animation-speed="'.$animation_speed_time.'" data-animation="'.$enable_animation.'" data-animation-delay="'.$animation_delay.'" data-color="'.strtolower($color) .'"><span>'. get_template_directory_uri() . '/css/fonts/svg/' . $image .'</span></div>';

问题在于:我应该在代码<a href="'. $icon_link . '" rel="'. $icon_link_rel .'">之前插入一个<div>,在结束div之后插入一个</a>但是只有在变量&icon_link是设置,如果没有,则不应显示<a>标记,因为我不需要指向所有图标的链接。

希望我能很好地解释自己,如果不让我知道的话!

问候,Alin。

4 个答案:

答案 0 :(得分:3)

如果if-statement已定义并设置,请执行$icon_link,然后使用点(<a>)将$svg_icon标记添加到.变量中:

 $svg_icon = '<div class="svg-icon-holder" data-size="'. $icon_size . '" data-animation-speed="'.$animation_speed_time.'" data-animation="'.$enable_animation.'" data-animation-delay="'.$animation_delay.'" data-color="'.strtolower($color) .'"><span>'. get_template_directory_uri() . '/css/fonts/svg/' . $image .'</span></div>';
 if($icon_link)
  {
      $svg_icon = '<a href="'. $icon_link . '" rel="'. $icon_link_rel .'">'.
                  $svg_icon.'</a>';
  }

答案 1 :(得分:1)

只需使用if语句即可。您正在操纵字符串,因此您可以轻松地将单词添加到其他字符串

if ($icon_link){
    $beginning = "<a href='$icon_link' rel='$icon_link_rel'>";
    $ending = "</a>"
}
else {
    $beginning = "";
    $ending = ""
}
$svg_icon = "$beginning<div class='svg-icon-holder' data-size='$icon_size' data-animation-speed='$animation_speed_time' data-animation='$enable_animation' data-animation-delay='$animation_delay' data-color='".strtolower($color)."'>
<span>".get_template_directory_uri()."/css/fonts/svg/$image</span></div>$ending";

答案 2 :(得分:0)

我个人更喜欢使用sprintf格式化字符串,而不是使用点将字符串粘贴在一起。您可以使用if ($(banner).offset().left > 40) { banner.css("backgroundPosition", "0px 0px "); } $svg_icon字符串与sprintf标记放在一起。如果定义了<div>,那么只需在<a>周围打上$svg_icon标记:

$icon_link

免责声明:此代码未经过测试。请查看我链接的sprintf文档,并尝试自己编写代码。

答案 3 :(得分:-1)

首先,不要在一行上写下所有内容,因此它在SO上适合屏幕(也可能在你的代码中)。

其次,我会使用instring变量。在php中你可以使用单引号,你的字符串按原样使用,或者你可以使用双引号,你可以在其中使用变量。像echo "Hey, my name is $name"; $ name这里将通过变量的值进行交换。如果您需要在字符串中使用双引号,则可以使用\"

之类的反斜杠来转义它们

第三,您可以使用内联if-else,下面的语法:$str = boolean ? "str if true" : "str if false"

$svg_icon = isset($icon_link) ? "<a href=\"$icon_link\"
    rel=\"$icon_link_rel\">" : '' . //add your opening <a> if needed
    "<div class=\"svg-icon-holder\" 
    data-size=\"$icon_size\" data-animation-speed=\"$animation_speed_time\"
    data-animation=\"$enable_animation\" 
    data-animation-delay=\"$animation_delay\"
    data-color=\"strtolower($color) \"><span>" 
    . get_template_directory_uri()
    . "/css/fonts/svg/ $image </span></div>"
    . isset($icon_link) ? '<\a>' : ''; //add your closing <\a> if needed