我正在做一个简单的文本编辑器,我需要处理创建段落。
段落将在WikiDot语法中,长话短说我需要改变:
+ paragraph 1
更改为 < H1>段< / H1>
++ subparagraph 1
更改为 < H2>项< / H2>
这在PHP中是怎么做的?
答案 0 :(得分:3)
扩展@CrayonViolent(在第一次替换中断第二次的情况下):
<?php
$content = "Hello, world
+ Big Heading
++ Smaller heading
Additional content";
function r($m){
$tag = "h".strlen($m[1]);
return "<{$tag}>{$m[2]}</{$tag}>";
}
$content = preg_replace_callback('/^(\+{1,6})\s?(.*)$/m','r', $content);
echo $content;
?>
还为正则表达式添加了m
(多行)标记,以便更好地匹配,并且只会执行标题<h1>
〜<h6>
。
可以找到工作示例here
答案 1 :(得分:2)
$content = preg_replace ("~^\+\+(.*?)\n\n~",'<h2>$1</h2>',$content);
$content = preg_replace ("~^\+(.*?)\n\n~",'<h1>$1</h1>',$content);