生成URL的Switch / Case会导致空格

时间:2015-07-07 18:10:07

标签: php html

我正在使用切换案例方法为网站图标生成正确的图片网址。

  <div class="logo"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><img src="<?php bloginfo('stylesheet_directory'); ?>
  <?php
    $url = home_url( '/' );
    switch ($url) {
        case "http://dx.zachryracing.com/es/":
            echo "/img/logo-spanish.png";
            break;
        case "http://dx.zachryracing.com/":
            echo "/img/logo.png";
            break;
    }
    ?>" alt=“Zachry Racing Logo” /></a></div>

我的问题是网址中有两个空格:

http://dx.zachryracing.com/es/wp-content/themes/boot_strap%20%20/img/logo.png

例如。

这种更简单的形式工作正常(没有动力):

<div class="logo"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><img src="<?php bloginfo('stylesheet_directory'); ?>/img/logo.png" alt=“Zachry Racing Logo” /></a></div>

我做错了什么?

2 个答案:

答案 0 :(得分:3)

我认为你有点过于复杂。试试这个

<img src="<?php
bloginfo('stylesheet_directory');
$url = home_url( '/' );
echo (stripos($url, '/es/') !== false) ? "/img/logo-spanish.png" : "/img/logo.png";
?>">

如果您的网址包含/es/目录

,则应显示西班牙语徽标

答案 1 :(得分:3)

在样式表目录和img文件夹之间,您关闭并输入php,这就是您拥有空白区域的地方。 ?> <?php

试试这个:

<div class="logo">
    <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"
        ><img src="<?php 
            bloginfo('stylesheet_directory'); 
            $url = home_url( '/' );
            switch ($url) {
                case "http://dx.zachryracing.com/es/":
                    echo "/img/logo-spanish.png";
                    break;
                case "http://dx.zachryracing.com/":
                    echo "/img/logo.png";
                    break;
            }
    ?>" alt=“Zachry Racing Logo” /></a></div>