排除除preg_match之外的所有内容

时间:2015-09-15 04:08:17

标签: php preg-replace preg-match

如果我有像

这样的字符串
$string = 'the grey fox [[function name]] jumped over the moon';

如何删除字符串中的所有内容, 方括号中的内容除外?我可以find and replace方括号内的代码如下:

$page_function = preg_replace('#\[\[(.*?)\]\]#', '', $string);

我需要一种 inverse the preg_replace 的方法,所以我可以替换preg_replace中的所有代码。

谢谢!

1 个答案:

答案 0 :(得分:1)

您最有可能寻找的是补充函数preg_match http://php.net/manual/en/function.preg-match.php

交互式shell的示例:

php > $string = 'the grey fox [[function name]] jumped over the moon';
php > preg_match('#\[\[(.*?)\]\]#', $string, $m);
php > var_dump($m);
array(2) {
  [0]=>
  string(17) "[[function name]]"
  [1]=>
  string(13) "function name"
}