【发布时间】:2018-10-04 08:51:28
【问题描述】:
我正在使用以下内容来替换短代码的名称:
$content = '[title type="1"]Test[/title]';
$pattern = '#\[title(.*)(.*?)\[/title\]#i';
$replace = '[new_title$1[/new_title]';
echo preg_replace($pattern, $replace, $content);
这可以很好地改变这个:
[title type="1"]Test[/title]
到这里:
[new_title type="1"]Test[/new_title]
但我正在尝试将标签之间的文本移动到一个属性中,并使其像这样自动关闭:
[new_title type="1" title="Test"]
【问题讨论】:
-
尝试
#\[title([^]]*)]([^[]*)\[/title]#并替换为[newtitle$1 title="$2"]。在此处查看现场演示regex101.com/r/wZFciO/1 -
谢谢,正是我想做的事
标签: php regex string preg-replace