-5

我正在寻找一个正则表达式来将任何以-(破折号)开头的文本行转换为项目符号点(<li>)。

例如:

- This is a point
- This is another point

变成:

<li>This is a point</li>
<li>This is another point</li>

任何想法,将不胜感激!

4

3 回答 3

2

我们不提供代码,我们帮助回答任何问题。


这是我帮助你做你想要达到的目标的答案。

看一下strpos(),如果找不到您要查找的内容,它将返回 false 。现在您可以创建一个 IF 语句。

如果它没有返回 false,则运行一个循环。至于替换,请查看str_replace()。您还可以使用strlen()找出总共有多少个字母可能对您的情况有所帮助。


同样,此 ^ 只是帮助您实现目标的快速提升。我希望你能接受我的建议,不要索要代码。

另外:为什么不做一些谷歌搜索?我很确定有人已经完成了你想要完成的事情。

于 2012-09-16T18:42:59.157 回答
2

Markdown 会为您做到这一点,Michel Fortin 为 PHP 提供了一个端口

它还将 *this* 转换为this并将 **this** 转换为this。如需完整列表,请参阅Markdown 官方网站

于 2012-09-16T18:50:28.533 回答
0

听起来您想使用正则表达式组。

preg_replace('/^- (.*)$/m', '<li> \1 </li>', $string);

此处正则表达式末尾的“m”确保“^”和“$”元字符与行的开头和结尾匹配。模式的括号部分捕获它匹配的文本,以便稍后在替换字符串中使用它。在这种情况下,'\1' 指的是由模式中的第一个括号开始的分组。

于 2012-09-16T19:06:41.077 回答