PHP格式化列表项

标签 php text-formatting

我想将以下文本转换为列表项

* Item 1
* Item 2

- item 1
- item 2

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
</ul>

我已经做了以下正则表达式,这还不够好

$text = preg_replace('#(*\s[*.]\s*)#','<li>$0</li>', $text); 

但这行不通。我不擅长制作 RE。

我在这里让问题更清楚。

文本可能包含项目符号,也可能不包含项目符号,我无法按照 atno 的建议循环遍历文件。

这是示例

* HTML *SEO * Javascript * PHP

- HTML
- SEO
-Javascript
-PHP

-HTML - SEO -Javascript -PHP

最佳答案

所以也许是这样的:

<?PHP
$text = <<<Text
* HTML *SEO * Javascript * PHP

- HTML
- SEO
-Javascript
-PHP

-HTML - SEO -Javascript -PHP
Text;

$text = preg_replace('/(\*|-)\s*([\S]+)\s*/',"<li>$2</li>\n",$text);

print $text;
?>

输出为:

<li>HTML</li>
<li>SEO</li>
<li>Javascript</li>
<li>PHP</li>
<li>HTML</li>
<li>SEO</li>
<li>Javascript</li>
<li>PHP</li>
<li>HTML</li>
<li>SEO</li>
<li>Javascript</li>
<li>PHP</li>

关于PHP格式化列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171164/

相关文章:

php 爆炸函数错误

php - 用 PHP 替换一个 div 内容

android - 像 Evernote 应用程序一样向 EditText 添加复选框

java - 非 JSP(独立)上下文中的 JSTL/JSP EL(表达式语言)

javascript - 使用谷歌分析 API - 'Getting Started' 教程

PHP - 清理所有数据?

php - 创建交易后更新 Memberpress 到期日期

html - anchor 内的段落无法格式化

c# - ASP.Net MVC - 显示带有换行符的文本

arrays - 谷歌财务 : Get History By Month