在 MySQL 中解码 HTML 实体可以通过创建如下所示的自定义函数来实现:
<code class="sql">DELIMITER $$ DROP FUNCTION IF EXISTS `HTML_UnEncode`$$ CREATE FUNCTION `HTML_UnEncode`(X VARCHAR(255)) RETURNS VARCHAR(255) CHARSET latin1 DETERMINISTIC BEGIN DECLARE TextString VARCHAR(255) ; SET TextString = X ; #quotation mark IF INSTR( X , '"' ) THEN SET TextString = REPLACE(TextString, '"','"') ; END IF ; #apostrophe IF INSTR( X , ''' ) THEN SET TextString = REPLACE(TextString, ''','"') ; END IF ; #ampersand IF INSTR( X , '&' ) THEN SET TextString = REPLACE(TextString, '&','&') ; END IF ; #less-than IF INSTR( X , '<' ) THEN SET TextString = REPLACE(TextString, '<','') ; END IF ; #non-breaking space IF INSTR( X , ' ' ) THEN SET TextString = REPLACE(TextString, ' ',' ') ; END IF ; #inverted exclamation mark IF INSTR( X , '¡' ) THEN SET TextString = REPLACE(TextString, '¡','¡') ; END IF ; #cent IF INSTR( X , '¢' ) THEN SET TextString = REPLACE(TextString, '¢','¢') ; END IF ; #pound IF INSTR( X , '£' ) THEN SET TextString = REPLACE(TextString, '£','£') ; END IF ; #currency IF INSTR( X , '¤' ) THEN SET TextString = REPLACE(TextString, '¤','¤') ; END IF ; #yen IF INSTR( X , '¥' ) THEN SET TextString = REPLACE(TextString, '¥','¥') ; END IF ; #broken vertical bar IF INSTR( X , '¦' ) THEN SET TextString = REPLACE(TextString, '¦','¦') ; END IF ; #section IF INSTR( X , '§' ) THEN SET TextString = REPLACE(TextString, '§','§') ; END IF ; #spacing diaeresis IF INSTR( X , '¨' ) THEN SET TextString = REPLACE(TextString, '¨','¨') ; END IF ; #copyright IF INSTR( X , '©' ) THEN SET TextString = REPLACE(TextString, '©','©') ; END IF ; #feminine ordinal indicator IF INSTR( X , 'ª' ) THEN SET TextString = REPLACE(TextString, 'ª','ª') ; END IF ; #angle quotation mark (left) IF INSTR( X , '«' ) THEN SET TextString = REPLACE(TextString, '«','«') ; END IF ; #negation IF INSTR( X , '¬' ) THEN SET TextString = REPLACE(TextString, '¬','¬') ; END IF ; #soft hyphen IF INSTR( X , '­' ) THEN SET TextString = REPLACE(TextString, '­','') ; END IF ; #registered trademark IF INSTR( X , '®' ) THEN SET TextString = REPLACE(TextString, '®','®') ; END IF ; #spacing macron IF INSTR( X , '¯' ) THEN SET TextString = REPLACE(TextString, '¯','¯') ; END IF ; #degree IF INSTR( X , '°' ) THEN SET TextString = REPLACE(TextString, '°','°') ; END IF ; #plus-or-minus IF INSTR( X , '±' ) THEN SET TextString = REPLACE(TextString, '±','±') ; END IF ; #superscript 2 IF INSTR( X , '²' ) THEN SET TextString = REPLACE(TextString, '²','²') ; END IF ; #superscript 3 IF INSTR( X , '³' ) THEN SET TextString = REPLACE(TextString, '³','³') ; END IF ; #spacing acute IF INSTR( X , '´' ) THEN SET TextString = REPLACE(TextString, '´','´') ; END IF ; #micro IF INSTR( X , 'µ' ) THEN SET TextString = REPLACE(TextString, 'µ','µ') ; END IF ; #paragraph IF INSTR( X , '¶' ) THEN SET TextString = REPLACE(TextString, '¶','¶') ; END IF ; #middle dot IF INSTR( X , '·' ) THEN SET TextString = REPLACE(TextString, '·','·') ; END IF ; #spacing cedilla IF INSTR( X , '¸' ) THEN SET TextString = REPLACE(TextString, '¸','¸') ; END IF ; #superscript 1 IF INSTR( X , '¹' ) THEN SET TextString = REPLACE(TextString, '¹','¹') ; END IF ; #masculine ordinal indicator IF INSTR( X , 'º' ) THEN SET TextString = REPLACE(TextString, 'º','º') ; END IF ; #angle quotation mark (right) IF INSTR( X , '»' ) THEN SET TextString = REPLACE(TextString, '»','»') ; END IF ; #fraction 1/4 IF INSTR( X , '¼' ) THEN SET TextString = REPLACE(TextString, '¼','¼') ; END IF ; #fraction 1/2 IF INSTR( X , '½' ) THEN SET TextString = REPLACE(TextString, '½','½') ; END IF ; #fraction 3/4 IF INSTR( X , '¾' ) THEN SET TextString = REPLACE(TextString, '¾','¾') ; END IF ; #inverted question mark IF INSTR( X , '¿' ) THEN SET TextString = REPLACE(TextString, '¿','¿') ; END IF ; #multiplication IF INSTR( X , '×' ) THEN SET TextString = REPLACE(TextString, '×','×') ; END IF ; #division IF INSTR( X , '÷' ) THEN SET TextString = REPLACE(TextString, '÷','÷') ; END IF ; #capital a, grave accent IF INSTR( X , 'À' ) THEN SET TextString = REPLACE(TextString, 'À','À') ; END IF ; #capital a, acute accent IF INSTR( X , 'Á' ) THEN SET TextString = REPLACE(TextString, 'Á','Á') ; END IF ; #capital a, circumflex accent IF INSTR( X , 'Â' ) THEN SET TextString = REPLACE(TextString, 'Â','Â') ; END IF ; #capital a, tilde IF INSTR( X , 'Ã' ) </code>
以上是如何创建自定义 MySQL 函数来解码 HTML 实体?的详细内容。更多信息请关注PHP中文网其他相关文章!