如何将完整的html代码添加到PHP数组中并使用array_rand函数回显该数组

时间:2018-10-06 19:18:01

标签: php html arrays

我正在尝试从数组中打印随机选择。但是array包含完整的html,这会导致问题,它不会回显整个html。它仅显示HTML中的文本。我已经尝试过单引号,但也没有用。

这是我所做的事情;

$items = Array('<div class="custom-top-tags">
<div class="sm-top-tags-title">Öne Çıkanlar:</div>
<div class="sm-top-tags-keywords">
<ul class="sm-top-tags-keywords-list">
<li><a href="makina-grubu?keyword=Matkap">Matkaplar</a></li>
<li><a href="eldiven-grubu">İş Eldivenleri</a></li>
<li><a href="shop?keyword=Karıştırıcı">Mikser & Karıştırıcı</a></li>
<li><a href="shop?keyword=Silikon">Silikon</a></li>
<li><a href="shop?keyword=Tangit">Tangitt</a></li>
<li><a href="shop?keyword=Lokma+Takımı">Lokma Takımı</a></li>
<li><a href="shop?keyword=Plastik+Boru+Makası">Plastik Boru Makası</a></li>
<li><a href="shop?keyword=El+Arabası">El Arabası</a></li>
<li><a href="shop?keyword=Vana">Vanalar</a></li>
<li><a href="boya-grubu">Boya</a></li>
<li><a href="makina-grubu?keyword=Kompresör">Kompresör</a></li>
</ul>
</div>
</div>',
'<div class="custom-top-tags">
<div class="sm-top-tags-title">Öne Çıkanlar:</div>
<div class="sm-top-tags-keywords">
<ul class="sm-top-tags-keywords-list">
<li><a href="makina-grubu?keyword=Matkap">Matkaplar</a></li>
<li><a href="eldiven-grubu">İş Eldivenleri</a></li>
<li><a href="shop?keyword=Karıştırıcı">Mikser & Karıştırıcı</a></li>
<li><a href="shop?keyword=Silikon">Silikon</a></li>
<li><a href="shop?keyword=Tangit">Tangitt</a></li>
<li><a href="shop?keyword=Lokma+Takımı">Lokma Takımı</a></li>
<li><a href="shop?keyword=Plastik+Boru+Makası">Plastik Boru Makası</a></li>
<li><a href="shop?keyword=El+Arabası">El Arabası</a></li>
<li><a href="shop?keyword=Vana">Vanalar</a></li>
<li><a href="boya-grubu">Boya</a></li>
<li><a href="makina-grubu?keyword=Kompresör">Kompresör</a></li>
</ul>
</div>
</div>');


echo $items[array_rand($items)];

我的期望是显示随机选择的HTML代码。

意思是,我需要从列表中随机选择不同的链接,并且需要使用html如下所示的代码来显示它们。

<div class="custom-top-tags">
    <div class="sm-top-tags-title">Öne Çıkanlar:</div>
    <div class="sm-top-tags-keywords">
    <ul class="sm-top-tags-keywords-list">
    <li><a href="makina-grubu?keyword=Matkap">Matkaplar</a></li>
    <li><a href="eldiven-grubu">İş Eldivenleri</a></li>
    <li><a href="shop?keyword=Karıştırıcı">Mikser & Karıştırıcı</a></li>
    <li><a href="shop?keyword=Silikon">Silikon</a></li>
    <li><a href="shop?keyword=Tangit">Tangitt</a></li>
    <li><a href="shop?keyword=Lokma+Takımı">Lokma Takımı</a></li>
    <li><a href="shop?keyword=Plastik+Boru+Makası">Plastik Boru Makası</a></li>
    <li><a href="shop?keyword=El+Arabası">El Arabası</a></li>
    <li><a href="shop?keyword=Vana">Vanalar</a></li>
    <li><a href="boya-grubu">Boya</a></li>
    <li><a href="makina-grubu?keyword=Kompresör">Kompresör</a></li>
    </ul>
    </div>
    </div>

正在等待建议和帮助。

2 个答案:

答案 0 :(得分:1)

代码中的换行符不起作用... 我建议将代码分成一个临时变量,然后分配数组 并使用正确的multi lkne语法

首先用于样式设计,并防止出现此错误

您应该使用$ tempvar和我为每次插入数组编写的代码

$items  = array();
$tempvar = <<<TEMP
    <div class="custom-top-tags">
 <div class="sm-top-tags-title">Öne Çıkanlar:</div> 
<div class="sm-top-tags-keywords">
 <ul class="sm-top-tags-keywords-list"> <li><a href="makina-grubu?keyword=Matkap">Matkaplar</a></li> <li><a href="eldiven-grubu">İş Eldivenleri</a></li> 
<li><a href="shop?keyword=Karıştırıcı">Mikser & Karıştırıcı</a></li> 
<li><a href="shop?keyword=Silikon">Silikon</a></li> 
<li><a href="shop?keyword=Tangit">Tangitt</a></li> <li><a href="shop?keyword=Lokma+Takımı">Lokma Takımı</a></li> 
<li><a href="shop?keyword=Plastik+Boru+Makası">Plastik Boru Makası</a></li>
 <li><a href="shop?keyword=El+Arabası">El Arabası</a></li> <li><a href="shop?keyword=Vana">Vanalar</a></li> 
<li><a href="boya-grubu">Boya</a></li> <li><a href="makina-grubu?keyword=Kompresör">Kompresör</a></li> </ul> </div> </div>
TEMP;

    $items[] = $tempvar;

    ... 

答案 1 :(得分:0)

这是一种可能的解决方案

echo htmlspecialchars($items[array_rand($items)]);