PHP,如果其他所有以该域开头的URL,则执行其他操作

时间:2015-01-30 09:20:17

标签: php html if-statement joomla

我想在php中使用if if else,这是

假设变量的值包含URL

所以

如果网址以cetrain网址www.blabla.com / ...开头,那就做点什么

否则

如果网址以www.whateverurl.com / ...开头,则执行其他操作,

我希望它足够清楚,伙计们,请一些帮助,

我的嵌入式HTML代码就像那样。如何避免所有情况,并且只有一个if和one else而没有elseif

<?php if ($item->getPrimaryLink()) : ?></br>

   <?php if ($item->getPrimaryLink()->getUrl() == "http://www.blabla.com/index.php/article?id=3200") : ?></br>                

         <a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>" class="readon"><span><?php rc_e('READ_MORE'); ?></span></a>

        <?php elseif ($item->getPrimaryLink()->getUrl() == "http://www.blabla.com/index.php/article?id=1508") : ?></br>

         <a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>" class="readon"><span><?php rc_e('READ_MORE'); ?></span></a>

        <?php elseif ($item->getPrimaryLink()->getUrl() == "http://www.blabla.com/index.php/article?id=1840") : ?></br>

         <a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>" class="readon"><span><?php rc_e('READ_MORE'); ?></span></a> 

        <?php elseif ($item->getPrimaryLink()->getUrl() == "http://www.blabla.com/index.php/article?id=2541") : ?></br>

         <a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>" class="readon"><span><?php rc_e('READ_MORE'); ?></span></a>       

 <?php else : ?></br>

        <a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>" class="modal" rel="{size: {x: 1024, y: 550}, handler:'iframe'}"><span><?php rc_e('READ_MORE'); ?></span></a>           

<?php endif; ?>

谢谢大家,我们非常感谢任何想法或建议。

2 个答案:

答案 0 :(得分:1)

您可以使用switch()声明。

    switch ($item->getPrimaryLink()->getUrl()) {
        case "http://www.blabla.com/index.php/article?id=3200":
            echo "<a href=". $item->getPrimaryLink()->getUrl()." class='readon'><span>". rc_e('READ_MORE'). "</span></a>";
            break;
        case "http://www.blabla.com/index.php/article?id=1508":
            echo "<a href=". $item->getPrimaryLink()->getUrl()." class='readon'><span>". rc_e('READ_MORE')."</span></a>";
            break;
        ...
    }

http://php.net/manual/en/control-structures.switch.php

答案 1 :(得分:0)

使用explode()函数获取网址的第一部分。

<?php 

    $url= $item->getPrimaryLink(); // www.blabla.com/index.php?id=123 <- The slash would be your divider in this case.
    $url_ex= explode("/", $url); 

    // So now you have
    //$url_ex[0] = 'www.blabla.com';
    //$url_ex[1] = 'index.php?id=123';
?>



 <?php if ($item->getPrimaryLink()) : ?></br>
        <?php if ($url_ex[0] == 'www.blabla.com'){

            echo "<a href=". $item->getPrimaryLink()->getUrl()." class='readon'><span>". rc_e('READ_MORE'). "</span></a>";
    }
 <?php else : ?></br>

        <a href="<?php echo $item->getPrimaryLink()->getUrl(); ?>" class="modal" rel="{size: {x: 1024, y: 550}, handler:'iframe'}"><span><?php rc_e('READ_MORE'); ?></span></a>           

<?php endif; ?>

我认为你可以使用类似的东西。

http://php.net/manual/en/function.explode.php