php:搜索方括号并获取它们的内容

时间:2014-08-25 16:51:40

标签: php regex

我只需要检查方括号的字符串(php)。如果有方括号,我想得到它的内容以便进一步处理。

字符串

This is just a
[needle]
example

因为有一个方括号,我想得到它的价值,这是"针"在这个例子中。 现在,我将在SQL-DB中获取针的值,并用该替换括号。

即。关键词"针"将获得价值"伟大"超出数据库,结果将是:

This is just a
great
example

我尝试使用str_replace

$content= str_replace('[]', '',$content);

但这是错误的方法,因为我首先需要检查值并发送SQL查询......

更新:我认为链接的帖子(Capturing text between square brackets in PHP)有一个不同的问题。因为我不仅仅是获得命中,而是通过替换它们来处理这些命中。因此,上述函数preg_replace_callback是最佳解决方案。

1 个答案:

答案 0 :(得分:0)

使用preg_match查找[]内的字词:

preg_match('/\[[^\]]+\]/', $content, $match);
print_r($match);

然后在查询中使用$match[0]。然后,您可以以相同的方式使用preg_replace