我正在创建用户输入,我希望他们列出链接和说明。
从头开始这样做,所以我对sytax的建议持开放态度。我在考虑这样的事情:
www.ebay.com | "my Ebay" , http://www.craigslist.org?s=bla | "Craiglist" ,
www.twitter.com/ev | "My Twitter"
我想用php将其转换为UL。我想我会为每个人使用一个但是想知道最好的方法是什么。
所以目标:
创建链接,类似于此
<a href="http://<?php echo $link; ?>"><?php echo $desc; ?></a></li>
答案 0 :(得分:3)
$data = explode(",", $string);
$list = "<ul>";
foreach ($data as $item) {
list($website, $title) = explode("|", $item);
// Clean up the extra white spaces, if any.
$website = trim($website);
$title = trim($title);
// make lowercase for the below check
$website = strtolower($website);
// if website does not have http:// append it
$website = (strpos($website, "http://") !== 0)?"http://" . $website:$website;
$title = str_replace('"', "", $title); // optional, but incase you do not want the quotes.
//If you do want them, then I would suggest htmlspecialchars so it does not mess up the title attribute below.
$list .= '<li><a href="' . $website . '" title="' . $title . '">' . $title . '</a></li>';
}
$list .= '</ul>';
echo $list;
应该让你到达你想去的地方。
<强>更新强> 注意引用注释,它会打破html。解决方案,删除str_replace中显示的引号,或使用htmlspecialchars()将它们替换为html计数器部分。
<强>更新强>
在第一个位置的网址中添加了对http://的检查,如果不存在则会附加。我用strpos()做了一个简单的检查。
还添加了修剪并删除了周围的空格,以及|字符。