我有这个内容" Lorem ipsum dolor sit amet, [Hello world] consectetur adipiscing elit。 Mauris ornare luctus diam sit amet mollis。"
我想删除[]
所包裹的任何内容,因此应删除此内容的结果 [Hello world]
如下所示
Lorem ipsum dolor坐下来,精神上的精神。 Mauris ornare luctus diam sit amet mollis。
答案 0 :(得分:4)
使用preg_replace:
$string = 'Lorem ipsum dolor sit amet,[Hello world] consectetur adipiscing elit. Mauris ornare luctus diam sit amet mollis.';
$newString = preg_replace('/\[.+?\]/', '', $string);
echo $newString;
答案 1 :(得分:0)
preg_replace是要走的路。它使用正则表达式匹配输入字符串中的模式(第三个参数),并返回一个字符串,用于替换与模式(第一个参数)匹配的任何内容与替换字符串(第二个参数)。
$input = "Lorem ipsum dolor sit amet,[Hello world] consectetur adipiscing elit. Mauris ornare luctus diam sit amet mollis.";
$output = preg_replace('/\[.+\]/', '', $input);
echo $output;
会给你:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ornare luctus diam sit amet mollis.
\
来转义[
和]
字符,因为它们在正则表达式中具有特殊含义。关于正则表达式的维基百科条目有一个超过syntax的部分,并涵盖其他元字符。另一个考虑因素是,您应该使用+
代替*
进行非同意匹配,因为如果您输入的是:
$input = "Lorem ipsum dolor sit amet,[Hello world] consectetur [test] adipiscing elit. Mauris ornare luctus diam sit amet mollis.";
然后你的输出将删除你可能不想要的consectetur
并给你:
Lorem ipsum dolor sit amet, adipiscing elit. Mauris ornare luctus diam sit amet mollis.