使用Ruby将ASCII列表转换为HTML列表

时间:2014-04-10 09:45:34

标签: html ruby parsing

给出以下列表:

links = %w(
  /foo/bar/baz
  /foo/bar
  /foo/42/43/44/test
  /foo/42
  /foo/test/test2
)

我想获取HTML无序列表,例如:

<ul>
  <li>
    foo

    <ul>
      <li>
        <a href="/foo/bar">bar</a>

        <ul>
          <li><a href="/foo/bar/baz">baz</a></li>
        </ul>
      </li>

      <li>
        <a href="/foo/42">42</a>

        <ul>
          <li>
            43

            <ul>
              <li>
                44

                <ul>
                  <li><a href="/foo/42/43/44/test">test</a></li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>

      <li>
        test

        <ul>
          <li><a href="/foo/test/test2">test2</a></li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

通过我可能是一个好主意,在功能样式中使用自己调用的方法。你有一个代码的例子吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

  1. 在列表中迭代字符串
  2. 使用/(/ \ w +)/
  3. 等正则表达式扫描字符串
  4. 迭代扫描结果并构建您的html
  5. 我认为这就是它。

    或者你可以使用一些javascript来生成一个树形的东西/无论你需要什么