如何从字符串创建UI列表?

时间:2009-11-04 21:56:56

标签: php jquery html

我更喜欢jquery。

假设我有一个字符串,

亚当,丽莎,约翰,莎拉

我希望将它们变成:

<ul><li>Adam</li><li>lisa</li><li>john</li><li>sarah</li></ul>

4 个答案:

答案 0 :(得分:5)

"<ul><li>" + "adam, lisa, john, sarah".split(", ").join("</li><li>") + "</li></ul>"

[编辑:] 我提到javascript,因为你提到了jQuery。我不知道在php中执行此操作的最佳方法,但您使用php中的preg_splitimplode执行上述操作。

答案 1 :(得分:2)

使用jQuery的$.map函数:

var names = 'adam,lisa,john,sarah';
var html = '<ul>'+$.map(names.split(','), function(name){
    return '<li>'+name+'</li>'
}).join('')+'</ul>';

答案 2 :(得分:2)

或者你可以做爆炸和预告:

$array = explode(', ','adam, lisa, john, sarah');
foreach ($array as $name) {
  $output .= '<li>' . $name . '</li>';
}
echo '<ul>' . $output . '</ul>';

也许有点简单。

编辑:更简单的是常规的str_replace。

$list = '<ul><li>' . str_replace(', ','</li><li>','adam, lisa, john, sarah') . '</li></ul>';
echo $list;

答案 3 :(得分:0)

要在PHP中执行此操作,请将字符串展开以使其成为一个数组,然后使用array_map将每个项目转换为li标记。完成后,将其内爆以获得所需的结果:

$items = explode( ",", "adam,lisa,john,sarah" );

array_map( "makeLiTag", $items );

echo( "<ul>" . implode( "", $items ) . "</ul>" );

function makeLiTag( &$item, $key )
{
    $item = "<li>$item</li>";
}