php – 使用preg_replace时如何忽略字符串中的一些单词

我想做的是

$var = "[h1]This is Just a text, [h1]and this inside it[/h1] This just example[/h1]";
$output = preg_replace("/\[h1\](.*?)\[\/h1]/", "<h1>$1</h1>", $var);
echo $output;

在这里我想首先忽略[/ h1]来使结果正确,我怎样才能实现它?无论如何只有第一个和最后一个标签

我不知道我应该做什么或试试,我还不够尝试,

编辑

输出

<h1>This is Just a text, [h1]and this inside it</h1> This just example[/h1]

但我希望得到

<h1>This is Just a text, <h1>and this inside it</h1> This just example</h1>

解决方法:

如果您只想替换< h1>的字符串[h1],则可以在不使用正则表达式的情况下实现所需的输出.等等

<?PHP
$var = "[h1]This is Just a text, [h1]and this inside it[/h1] This just example[/h1]";

echo str_replace(['[h1]', '[/h1]'], ['<h1>', '</h1>'], $var);

结果:

<h1>This is Just a text, <h1>and this inside it</h1> This just example</h1>

https://3v4l.org/q9a41

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...