0

我正在尝试制作一个 php 函数,将我的所有标题转换为链接列表。我目前的方法是使用 preg_replace

    $txt = preg_replace("#\[h1\](.+?)\[/h1\]#is", "<h2 style='display:inline;'>\\1</h3>", $txt);
$txt = preg_replace("#\[h2\](.+?)\[/h2\]#is", "<h3 style='display:inline; '>\\1</h4>", $txt);

所以我得到了这两个,但我似乎无法让其余的消失。(因为如果我添加一个在此之后删除所有内容的内容,我会丢失所有内容。)那么是否有一个正则表达式可以省略我的标签并将其余部分变成“”?

这是对我来说似乎最合乎逻辑的方式,但如果有更简单的方式,那么我愿意接受建议。

它从我在 body.html 中新制作的 html 文件中获取代码

$body = file_get_contents('body.html');
$text = replace_bb_code($body);
4

1 回答 1

1

不是很清楚,但你可以试试这个:

$txt = preg_replace("#\[h2\](.+?)\[/h2\](.+?(?=\[h1\]|\[h2\])|.+$)#is", "<h2 style='display:inline;'>\\1</h2>", $txt);
$txt = preg_replace("#\[h1\](.+?)\[/h1\](.+?(?=\[h1\]|<h2)|.+$)#is", "<h1 style='display:inline;'>\\1</h1>", $txt);

这次怎么样 :DI 希望第三次不要说谎 :D

于 2013-10-03T08:37:00.763 回答