ホームページ > データベース > mysql チュートリアル > HTML エンティティをデコードするカスタム MySQL 関数を作成するにはどうすればよいですか?

HTML エンティティをデコードするカスタム MySQL 関数を作成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-25 12:28:02
オリジナル
817 人が閲覧しました

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

MySQL で HTML エンティティをデコードするには、以下に示すようなカスタム関数を作成します。

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>

ログイン後にコピー

以上がHTML エンティティをデコードするカスタム MySQL 関数を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート