PHP 按模式删除字符串的一部分

PHP remove portion of a string by pattern

我有一堆绳子,我需要剪掉一部分:

1. Adaptation of a one-step worst-case optimal univariate algorithm of bi-objective Lipschitz optimization to multidimensional problems, vol. 21 [looked: 2014 m. september 15 d.], p. 89-98.
2. On benchmarking stochastic global optimization algorithms, 2014 [looked 2014 m. spetember 17 d.], p. 9-12.
3. Quadratic programming with complementarity constraints for multidimensional scaling with city-block distances, Vol. 2, no. 4 [looked 2014 m. december 05 d.], p. 248-259. 

和许多其他人。我需要删除 [looked YYYY m。 月日日]部分。以“[looked”开头,以“]”结尾。 我怎样才能做到这一点?

我试过preg_replace,但我无法建立良好的工作模式。

你可以试试这个,

preg_replace('~\[Looked\b[^\]]*\]~', '', $str);

这个有效:

preg_replace("/\[looked(.+?)\]/","",$str)