Как удалить пользовательский тег в PHP? - PullRequest
0 голосов
/ 09 июля 2010

Я пытаюсь удалить следующий тег из строки.

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

Как мне удалить его с помощью preg_replace в php?

Я пробовал несколько регулярных выражений, но не смог все.

Ответы [ 2 ]

4 голосов
/ 09 июля 2010
$output_string = preg_replace('#\[caption[^\]]*\](.*?)\[/caption\]#m', "$1", $input_string)

или если вы также хотите удалить что-либо между открывающим и закрывающим тегом, просто измените "$1" на "".

0 голосов
/ 09 июля 2010

Вот вы:

Проверено здесь: 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);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...