Home > Database > Mysql Tutorial > How can I create a custom MySQL function to decode HTML entities?

How can I create a custom MySQL function to decode HTML entities?

Mary-Kate Olsen
Release: 2024-10-25 12:28:02
Original
838 people have browsed it

How can I create a custom MySQL function to decode HTML entities?

Decoding HTML entities in MySQL can be achieved by creating a custom function like the one provided below:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

<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 , '&amp;quot;' )

THEN SET TextString = REPLACE(TextString, '&amp;quot;','"') ;

END IF ;

 

#apostrophe 

IF INSTR( X , '&amp;apos;' )

THEN SET TextString = REPLACE(TextString, '&amp;apos;','"') ;

END IF ;

 

#ampersand

IF INSTR( X , '&amp;amp;' )

THEN SET TextString = REPLACE(TextString, '&amp;amp;','&amp;') ;

END IF ;

 

#less-than

IF INSTR( X , '&amp;lt;' )

THEN SET TextString = REPLACE(TextString, '&amp;lt;','<') ;

END IF ;

 

#greater-than

IF INSTR( X , '&amp;gt;' )

THEN SET TextString = REPLACE(TextString, '&amp;gt;','>') ;

END IF ;

 

#non-breaking space

IF INSTR( X , '&amp;nbsp;' )

THEN SET TextString = REPLACE(TextString, '&amp;nbsp;',' ') ;

END IF ;

 

#inverted exclamation mark

IF INSTR( X , '&amp;iexcl;' )

THEN SET TextString = REPLACE(TextString, '&amp;iexcl;','¡') ;

END IF ;

 

#cent

IF INSTR( X , '&amp;cent;' )

THEN SET TextString = REPLACE(TextString, '&amp;cent;','¢') ;

END IF ;

 

#pound

IF INSTR( X , '&amp;pound;' )

THEN SET TextString = REPLACE(TextString, '&amp;pound;','£') ;

END IF ;

 

#currency

IF INSTR( X , '&amp;curren;' )

THEN SET TextString = REPLACE(TextString, '&amp;curren;','¤') ;

END IF ;

 

#yen

IF INSTR( X , '&amp;yen;' )

THEN SET TextString = REPLACE(TextString, '&amp;yen;','¥') ;

END IF ;

 

#broken vertical bar

IF INSTR( X , '&amp;brvbar;' )

THEN SET TextString = REPLACE(TextString, '&amp;brvbar;','¦') ;

END IF ;

 

#section

IF INSTR( X , '&amp;sect;' )

THEN SET TextString = REPLACE(TextString, '&amp;sect;','§') ;

END IF ;

 

#spacing diaeresis

IF INSTR( X , '&amp;uml;' )

THEN SET TextString = REPLACE(TextString, '&amp;uml;','¨') ;

END IF ;

 

#copyright

IF INSTR( X , '&amp;copy;' )

THEN SET TextString = REPLACE(TextString, '&amp;copy;','©') ;

END IF ;

 

#feminine ordinal indicator

IF INSTR( X , '&amp;ordf;' )

THEN SET TextString = REPLACE(TextString, '&amp;ordf;','ª') ;

END IF ;

 

#angle quotation mark (left)

IF INSTR( X , '&amp;laquo;' )

THEN SET TextString = REPLACE(TextString, '&amp;laquo;','«') ;

END IF ;

 

#negation

IF INSTR( X , '&amp;not;' )

THEN SET TextString = REPLACE(TextString, '&amp;not;','¬') ;

END IF ;

 

#soft hyphen

IF INSTR( X , '&amp;shy;' )

THEN SET TextString = REPLACE(TextString, '&amp;shy;','­') ;

END IF ;

 

#registered trademark

IF INSTR( X , '&amp;reg;' )

THEN SET TextString = REPLACE(TextString, '&amp;reg;','®') ;

END IF ;

 

#spacing macron

IF INSTR( X , '&amp;macr;' )

THEN SET TextString = REPLACE(TextString, '&amp;macr;','¯') ;

END IF ;

 

#degree

IF INSTR( X , '&amp;deg;' )

THEN SET TextString = REPLACE(TextString, '&amp;deg;','°') ;

END IF ;

 

#plus-or-minus 

IF INSTR( X , '&amp;plusmn;' )

THEN SET TextString = REPLACE(TextString, '&amp;plusmn;','±') ;

END IF ;

 

#superscript 2

IF INSTR( X , '&amp;sup2;' )

THEN SET TextString = REPLACE(TextString, '&amp;sup2;','²') ;

END IF ;

 

#superscript 3

IF INSTR( X , '&amp;sup3;' )

THEN SET TextString = REPLACE(TextString, '&amp;sup3;','³') ;

END IF ;

 

#spacing acute

IF INSTR( X , '&amp;acute;' )

THEN SET TextString = REPLACE(TextString, '&amp;acute;','´') ;

END IF ;

 

#micro

IF INSTR( X , '&amp;micro;' )

THEN SET TextString = REPLACE(TextString, '&amp;micro;','µ') ;

END IF ;

 

#paragraph

IF INSTR( X , '&amp;para;' )

THEN SET TextString = REPLACE(TextString, '&amp;para;','¶') ;

END IF ;

 

#middle dot

IF INSTR( X , '&amp;middot;' )

THEN SET TextString = REPLACE(TextString, '&amp;middot;','·') ;

END IF ;

 

#spacing cedilla

IF INSTR( X , '&amp;cedil;' )

THEN SET TextString = REPLACE(TextString, '&amp;cedil;','¸') ;

END IF ;

 

#superscript 1

IF INSTR( X , '&amp;sup1;' )

THEN SET TextString = REPLACE(TextString, '&amp;sup1;','¹') ;

END IF ;

 

#masculine ordinal indicator

IF INSTR( X , '&amp;ordm;' )

THEN SET TextString = REPLACE(TextString, '&amp;ordm;','º') ;

END IF ;

 

#angle quotation mark (right)

IF INSTR( X , '&amp;raquo;' )

THEN SET TextString = REPLACE(TextString, '&amp;raquo;','»') ;

END IF ;

 

#fraction 1/4

IF INSTR( X , '&amp;frac14;' )

THEN SET TextString = REPLACE(TextString, '&amp;frac14;','¼') ;

END IF ;

 

#fraction 1/2

IF INSTR( X , '&amp;frac12;' )

THEN SET TextString = REPLACE(TextString, '&amp;frac12;','½') ;

END IF ;

 

#fraction 3/4

IF INSTR( X , '&amp;frac34;' )

THEN SET TextString = REPLACE(TextString, '&amp;frac34;','¾') ;

END IF ;

 

#inverted question mark

IF INSTR( X , '&amp;iquest;' )

THEN SET TextString = REPLACE(TextString, '&amp;iquest;','¿') ;

END IF ;

 

#multiplication

IF INSTR( X , '&amp;times;' )

THEN SET TextString = REPLACE(TextString, '&amp;times;','×') ;

END IF ;

 

#division

IF INSTR( X , '&amp;divide;' )

THEN SET TextString = REPLACE(TextString, '&amp;divide;','÷') ;

END IF ;

 

#capital a, grave accent

IF INSTR( X , '&amp;Agrave;' )

THEN SET TextString = REPLACE(TextString, '&amp;Agrave;','À') ;

END IF ;

 

#capital a, acute accent

IF INSTR( X , '&amp;Aacute;' )

THEN SET TextString = REPLACE(TextString, '&amp;Aacute;','Á') ;

END IF ;

 

#capital a, circumflex accent

IF INSTR( X , '&amp;Acirc;' )

THEN SET TextString = REPLACE(TextString, '&amp;Acirc;','Â') ;

END IF ;

 

#capital a, tilde

IF INSTR( X , '&amp;Atilde;' ) </code>

Copy after login

The above is the detailed content of How can I create a custom MySQL function to decode HTML entities?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template