在PHP正则表达式中使用变量而不是固定搜索词

时间:2014-05-07 11:16:13

标签: php regex preg-match

我使用以下内容来替换/缩短到目前为止工作正常的字符串。 我如何在这里使用变量(例如$ myVar)而不是硬编码搜索词(mySearchTerm)?

preg_match('/mySearchTerm\:\s*([^\_]+)/', $myString, $out);

2 个答案:

答案 0 :(得分:2)

如果您执行以下操作,则第一位可以是您想要的任何文本。您必须使用:

后跟的任何字符
preg_match('/([^:]+):\s*([^_]+)/', $myString, $out);

答案 1 :(得分:1)

使用连接和preg_quote()

$term = 'mySearchTerm';
preg_match('/' . preg_quote($term, '/') . ':\s*([^_]+)/', $myString, $out);