我正在寻找一个正则表达式,将以-
(短划线)开头的任何文本行转换为项目符号点(<li>
)。
例如:
- This is a point
- This is another point
变为:
<li>This is a point</li>
<li>This is another point</li>
任何想法都将不胜感激!
答案 0 :(得分:2)
我们不会提供代码,我们会帮助回答任何问题。
这是我帮助你做你想要实现的目标的答案。
看看strpos(),如果找不到你要找的东西,它会返回false。现在您可以创建一个IF语句。
如果没有返回false,则运行循环。至于替换方面,请看str_replace()。您还可以使用strlen()找出可能对您的案例有多少信件。
同样,这只是为了帮助您实现目标的快速提升。我希望你的建议不要求代码。
:为什么不进行一些谷歌搜索?我很确定某人已经完成了你想要完成的任务。
答案 1 :(得分:2)
Markdown会为您做到这一点,有一个port for PHP by Michel Fortin。
它还将* this *转换为此,并将此**转换为此。有关完整列表,请参阅the official Markdown site。
答案 2 :(得分:0)
听起来你想使用正则表达式组。
preg_replace('/^- (.*)$/m', '<li> \1 </li>', $string);
regexp末尾的'm'确保'^'和'$'元字符匹配行的开头和结尾。模式的带括号的部分捕获它匹配的文本,以便稍后可以在替换字符串中使用它。在这种情况下,'\ 1'指的是模式中第一个括号开始的分组。