执行REGEX搜索和替换的MySQL UDF

时间:2014-09-19 16:32:41

标签: php mysql regex dll mysql-udf

您好我是open.uwec.edu的新网络开发人员。我最近不得不切换我们的网络服务器并遇到了一些挑战。我们的旧MySQL服务器使用了名为preg_replace的lib_mysqludf_preg库中的函数来进行正则表达式搜索和匹配。它已经在" MySQL服务器5.1 / lib /插件"中编译了一些.dll。名为lib_mysqludf_preg.dll和libpcre.dll的文件夹。

如果我将这些dll复制到" MySQL Server 5.6 / lib / plugin"的新服务器上。并做一些像......

CREATE Function preg_replace RETURNS STRING SONAME 'lib_mysqludf_preg.dll';

我收到MySQL 193格式错误...

我已经在https://github.com/mysqludf/lib_mysqludf_preg/blob/testing/doc/INSTALL.windows查看了此库的github存储库上的指南,但这些链接没有像pcre dll那样转到正确的文件中,而且它不是'对我有意义。是否有必要从头开始编译这个preg库?我使用它的功能看起来像这样。

CREATE DEFINER=`root`@`localhost` FUNCTION `slug`(dirty_string varchar(255)) RETURNS varchar(255) CHARSET latin1
    DETERMINISTIC
BEGIN
    Declare temp_string VarChar(255);
    Set temp_string = replace(dirty_string, '&', ' and ');
    Set temp_string = replace(temp_string, '''', '');
    Set temp_string = preg_replace('/[^a-z0-9-]+/i', '-', temp_string);
    Set temp_string = preg_replace('/^-+|-+$/', '', temp_string);
    Return LOWER(temp_string);
END

我们的网站使用php codeigniter框架。我对MySQL上的UDFS没什么经验,所以我希望我提供了足够的信息。谢谢。

0 个答案:

没有答案