我有一个名为“tags”的 MySQL 字段作为示例结果。单个字段有一个以逗号分隔值的文本列表。
一个真实的例子:
红色,裤子,鞋子,高跟鞋,lookbook
我想以某种方式使用查找和替换或内爆功能将这一行作为单独的链接打印出来。
到目前为止我的猜测:
<?php
$tag=$row["tags"];
whilst (!$tag=="") {
echo '<a href="/tags/$tag">$tag</a>, "';
}
?>
最佳答案
- 使用
explode()
将逗号分隔的列表拆分为数组 - 使用
foreach
将列表中的每个元素转换为链接 - 使用
implode()
将数组转换为逗号分隔的列表
例子:
$tags = explode(", ", $row["tags"]);
foreach ($tags as &$tag) {
$tag = "<a href=\"/tags/$tag\">$tag</a>";
}
echo implode(", ", $tags);
另一种方法是使用 preg_replace
:
$row['tags'] = "banana, apple, peach, strawberry";
echo preg_replace( '#([^,\s]+)#is',
'<a href="/tags/$1">$1</a>',
$row['tags']);
关于PHP 用链接分隔逗号列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9242253/