我知道这preg_replace('/[{}]/', '', $string);
会删除大括号,但是如果我也有方括号并且还需要删除它们怎么办?
问问题
79 次
5 回答
3
为什么要为此麻烦使用正则表达式。如果您所做的只是替换字符串中的 4 个字符:
str_replace(array('[',']','{','}'),'',$string);
会做同样的事情。
于 2013-07-08T07:24:09.477 回答
2
在字符类中包含方括号(转义):/[{}\[\]]/
于 2013-07-08T07:15:32.510 回答
1
preg_replace('/[{}\[\]]/', '', $string);
您应该将它们添加到正则表达式中的类中
$string = 'asdf{[]a]}ds';
echo preg_replace('/[{}\[\]]/', '', $string);
输出:asdfads
于 2013-07-08T07:17:24.997 回答
0
当您正在寻找方括号删除时:
$str = preg_replace("/\[([^\[\]]++|(?R))*+\]/", "", $str);
这将转换为:
This [text [more text]] is cool
对此:
This is cool
编辑
$string = '<p>hey</p><p>[[{"type":"media","view_mode":"media_large","fid":"67","attributes":{"alt":"","class":"media-image","height":"125","typeof":"foaf:Image","width":"125"}}]]</p>';
$new_string = preg_replace('/\[\[.*?\]\]/', '<b>img inserted</b>', $string);
echo $new_string;
让我知道我是否可以进一步帮助您。
于 2013-07-08T07:16:40.900 回答
0
你必须逃避它:
/[{}[\]]/
于 2013-07-08T07:15:35.777 回答