MySQL UDF, который выполняет поиск и замену REGEX

Здравствуйте, я новый веб-разработчик на open.uwec.edu. Недавно мне пришлось переключать наши веб-серверы, и я столкнулся с некоторыми проблемами. Наш старый сервер MySQL использовал функцию из библиотеки lib_mysqludf_preg, которая называлась preg_replace, для поиска и сопоставления регулярных выражений. У него были некоторые.dll, уже скомпилированные в папке "MySQL Server 5.1/lib/plugin" с именами lib_mysqludf_preg.dll и libpcre.dll.

Если я скопирую эти библиотеки на новый сервер в "MySQL Server 5.6/lib/plugin" и сделаю что-то вроде...

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

Я получаю ошибку формата MySQL 193...

Я посмотрел руководство по хранилищу github для этой библиотеки по адресу https://github.com/mysqludf/lib_mysqludf_preg/blob/testing/doc/INSTALL.windows но ссылки не ведут на нужные файлы, такие как pcre длл, и это просто не имеет смысла для меня. Нужно ли скомпилировать эту библиотеку 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. У меня мало опыта работы с UDFS на MySQL, поэтому я надеюсь, что предоставил достаточно информации. Спасибо.

0 ответов

Другие вопросы по тегам