如何使用PHP将文本列表中的连字符转换为HTML列表项?

时间:2015-01-17 20:09:37

标签: php regex

如何在PHP中使用正则表达式将纯文本列表转换为HTML列表?

Lorem ipsum.

- item 1
- item 2
- item 3
- item 4

Dolores amet.

Lorem ipsum.

<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
<li>item4</li>
</ul>

Dolores amet.

1 个答案:

答案 0 :(得分:1)

  1. 正则表达式

    \n\s?-\s?(.*)
    
      

    示例https://regex101.com/r/zQ7xL6/1

  2. 获得比赛。

    要使每场比赛都使用preg_match_all()

    preg_match_all($pattern, $your_text, $matches);

    Array (
      [0] => Array (
        [0] => 'item 1'
      )
      [1] => Array (
        [0] => 'item 2'
      )
      etc..
     )
    
  3. HTML

    在这里,你可以用你的比赛做你想做的一切。因此,让我们添加一些HTML标记。

    $html_text = '';
    foreach($matches as $match) {
      $item = $match[0]; //item 1
      $html_text .= '<li>' . $item . '</li>';
    }
    $html_text = '<ul>' . $html_text . '</ul>';
    

    输出

    <ul>
     <li>item1</li>
     <li>item2</li>
     <li>item3</li>
     <li>item4</li>
    </ul>
    
  4. preg_replace way

    灵感来看A regex that converts text lists to html in PHP希望我帮助你。