Я пытаюсь снять теги HTML из всех моих записей непосредственно через MySQL. Благодаря StackOverflow-х this question, я нашел следующую функцию, которая делает вид Газа HTML-теги -Как запустить функцию mySQL для обновления всех строк?
SET GLOBAL log_bin_trust_function_creators=1;
DROP FUNCTION IF EXISTS fnStripTags;
DELIMITER |
CREATE FUNCTION fnStripTags(Dirty varchar(4000))
RETURNS varchar(4000)
DETERMINISTIC
BEGIN
DECLARE iStart, iEnd, iLength int;
WHILE Locate('<', Dirty) > 0 And Locate('>', Dirty, Locate('<', Dirty)) > 0 DO
BEGIN
SET iStart = Locate('<', Dirty), iEnd = Locate('>', Dirty, Locate('<', Dirty));
SET iLength = (iEnd - iStart) + 1;
IF iLength > 0 THEN
BEGIN
SET Dirty = Insert(Dirty, iStart, iLength, '');
END;
END IF;
END;
END WHILE;
RETURN Dirty;
END;
|
DELIMITER ;
SELECT fnStripTags('this <html>is <b>a test</b>, nothing more</html>');
Но я не могу выяснить, как использовать эту функцию, чтобы обновить все записи. Напр. У меня есть записи в столбце Address
myTable
, из которого я хочу снять теги HTML, используя вышеупомянутую функцию. Как я могу напрямую обновлять все записи столбца Address
с помощью указанной функции, или если прямое обновление невозможно, то любой способ вставить все обновленные записи во второй столбец таблицы Address_Stripped
?
P.S., я знаю, в моем вопросе не было проведено никакого исследования, чтобы получить ответ сам, но это просто потому, что я не знаю, как его искать.
Спасибо. Это сработало. SO timelimit мешает мне принять его в качестве ответа (осталось 8 минут, чтобы принять его как ответ) –