如何在PHP中删除自定义标记?

时间:2010-07-09 02:30:09

标签: php regex

我正在尝试从字符串中删除以下标记。

[caption id="attachment_9" align="alignleft" width="137" caption="test"][/caption]

如何使用php的preg_replace删除它?

我尝试了几个正则表达式,但都失败了。

2 个答案:

答案 0 :(得分:4)

$output_string = preg_replace('#\[caption[^\]]*\](.*?)\[/caption\]#m', "$1", $input_string)

或者如果您还要删除开始和结束标记之间的任何内容,只需将"$1"更改为""

答案 1 :(得分:0)

你在这里:

在这里测试:http://www.pagecolumn.com/tool/pregtest.htm

<?php 
$ptn = "/\[caption.+caption\]/";
$str = "Otherstuff[caption id=\"attachment_9\" align=\"alignleft\" width=\"137\" caption=\"test\"][/caption]Something else";
$rpltxt = "@";
echo preg_replace($ptn, $rpltxt, $str);
?>