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


How to convert hyphen in text list to HTML list items using PHP?

如何在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. 正则表达式模式

    '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方式

    为了获得灵感,请看这里 一个在 PHP 中将文本列表转换为 html 的正则表达式希望我对您有所帮助。