我在门户页面中使用数据属性来描述喜欢的链接。这很容易做到——你使用的是一个常规列表(因为你可以单独将自定义的"数据特殊"放在中
但是,当您在一个数组中有很多链接,并且您使用foreach
数据特殊性是我自己的声明。我通过CSS将Unicode字符应用于特殊的链接。
感谢您的阅读和抽出时间。
$portal = array(
"Twitter" => "http://twitter.com",
//another 20 array elements
);
ksort($portal);
foreach ($portal as $key => $item):
echo("<li><a rel='"external'" href='"$item'">$key</a></li>");
?>
<?php endforeach; ?>
我需要为特定的链接添加特殊的数据,但不确定如何将它们挑选出来,因为它们在阵列中
编辑这就是我试图在阵列中的一些链路中的5个链路上实现的目标
<li data-special><a href="http://kuler.adobe.com/#create/fromacolor" rel="external">Kular</a></li>
在不了解更多信息的情况下,尝试这样的操作(在需要的地方填空)。我假设您使用的是UTF-8内容类型
<?php foreach ($portal as $key => $item) :
$special = /* boolean statement; is $key or $item special */
? 'data-special="true"' : '';
?>
<li <?php echo $special ?>>
<a rel="external"
href="<?php echo htmlspecialchars($item, ENT_QUOTES, 'UTF-8') ?>">
<?php echo htmlspecialchars($key, ENT_QUOTES, 'UTF-8') ?>
</a>
</li>
<?php endforeach ?>
一个更具体的例子可能是,如果您只想将Twitter键设置为special。。
$special = $key == 'Twitter'
? 'data-special="true"' : '';
也许更好的例子是…
// before the foreach loop
$specials = array('Twitter', 'Google', 'Facebook');
然后,在你的循环
$special = in_array($key, $specials)
? 'data-special="true"' : '';