【问题标题】:How to create Ul list from string?如何从字符串创建 Ul 列表?
【发布时间】:2009-11-04 21:56:55
【问题描述】:

我更喜欢 jquery。

假设我有一个字符串,

亚当、丽莎、约翰、莎拉

我想把它们变成:

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

【问题讨论】:

  • 请澄清问题,您希望此输出到页面吗? jQuery 正在处理这个字符串吗?还是 PHP 做的?

标签: php jquery html


【解决方案1】:
"<ul><li>" + "adam, lisa, john, sarah".split(", ").join("</li><li>") + "</li></ul>"

[编辑:] 因为你提到了 jQuery,所以我假设是 javascript。我不知道在 php 中执行此操作的最佳方法,但您在 php 中使用 preg_split 和 implode 执行与上述相同的操作。

【讨论】:

  • 如何在html/php文件中实现?
【解决方案2】:

使用jQuery的$.map函数:

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

【讨论】:

    【解决方案3】:

    或者你可以做explode和foreach:

    $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;
    

    【讨论】:

      【解决方案4】:

      要在 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>";
      }
      

      【讨论】:

      • 我想你可能需要把回调函数作为第一个参数? array_map('makeLiTag', $items);
      猜你喜欢
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 2012-12-23
      • 2011-04-20
      • 2016-02-13
      • 1970-01-01
      • 2016-12-02
      • 1970-01-01
      相关资源
      最近更新 更多