嗨,我怎样才能使 preg_match_all 可编辑
preg_match_all('{(".$limit.")}i',$content,$matches);
<input type="text" size="30" name="limit" id="limit" value="" />
所以如果我想搜索一个不同的字符串,我只需要在输入表单中输入?
嗨,我怎样才能使 preg_match_all 可编辑
preg_match_all('{(".$limit.")}i',$content,$matches);
<input type="text" size="30" name="limit" id="limit" value="" />
所以如果我想搜索一个不同的字符串,我只需要在输入表单中输入?
$limit
从超全局数组中检索。$_GET
if (isset($_GET['limit'])) {
$limit = preg_quote($_GET['limit'], '%');
preg_match_all('%('.$limit.')%i',$content,$matches);
}
您还需要一个表单来提交值 - 正如 HamZa 在评论中所说:
<form action="this-script.php" method="get">
<input type="text" size="30" name="limit" id="limit" value="" />
</form>
如果你经常在你的模式中使用用户输入,你可以看看T-Regx 工具,它有一个模式构建器!并且还有自动分隔符
$pattern = Pattern::inject('%(@limit)%', [
'limit' => $_GET['limit']
]);
$pattern->match($string)->forEach(function (Match $m) {
// do something with $m
});
Pattern::inject()
(或Pattern::prepare()
)将引用任何用户输入。