我需要检查字符串中是否有括号来提取其内容:
if (preg_match('/(?<=\()(.+)(?=\))/is', $element, $match)) {
array_push($result, $match[1]);
// Remove bracket from $element
}
但我也想删除$ element-var的完整括号。我该怎么做?
$element = "Any text (remove that)";
// result should be:
$match[1] = "remove that";
$element = "Any text";
答案 0 :(得分:2)
我假设括号不是嵌套的。 preg_replace_callback示例:
$result = array();
$element = preg_replace_callback('~\(([^)]*)\)~', function ($m) use (&$result) {
$result[]=$m[1];
return '';
}, $element);