gpt4 book ai didi

php - 在 SQLITE SELECT 语句中使用的自定义 REGEXP 函数

转载 作者:搜寻专家 更新时间:2023-10-31 20:53:56 24 4
gpt4 key购买 nike

我有一个 SQLITE 数据库文件,其中一个表列中有一些简单的正则表达式。

这些表达式类似于 /foo(.?)/foo/bar/(. ?) 等等...

好吧,当我们尝试将一些文本与正则模式匹配时,在 PHP 中,我们会这样做:

preg_match( $pattern, $target, $matches )

显然,用内容替换变量。

我想做的是发送任何字符串作为 WHERE 子句的值,并且在搜索 SQLITE 数据库的文件时,使用每个存储的正则表达式来匹配给定字符串中的模式。

我认为使用 PHP 的 sqlite_create_function() 我可以创建某种例程来执行此操作,但我不知 Prop 体如何操作,因为这是我第一次使用 SQLITE 进行开发。

如果有兴趣,它是我正在开发的框架的 MVC 路由的一部分。

非常感谢您。

最佳答案

您可以使用 SQLiteDatabase::createFunction 文档 herePDO::sqliteCreateFunction 文档 here

我做了这样的事情:

<?php
function _sqliteRegexp($string, $pattern) {
if(preg_match('/^'.$pattern.'$/i', $string)) {
return true;
}
return false;
}
$PDO->sqliteCreateFunction('regexp', '_sqliteRegexp', 2);
?>

使用:

SELECT route FROM routes WHERE pattern REGEXP 'your/url/string' LIMIT 1

关于php - 在 SQLITE SELECT 语句中使用的自定义 REGEXP 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com