1 | <?php |
---|
2 | /** |
---|
3 | * PAYGENT B2B MODULE |
---|
4 | * StringUtil.php |
---|
5 | * |
---|
6 | * Copyright (C) 2007 by PAYGENT Co., Ltd. |
---|
7 | * All rights reserved. |
---|
8 | * / |
---|
9 | |
---|
10 | /** |
---|
11 | * Ú±W
[@StringUtitily |
---|
12 | * |
---|
13 | * @version $Revision: 1.6 $ |
---|
14 | * @author $Author: t-mori $ |
---|
15 | */ |
---|
16 | |
---|
17 | class StringUtil{ |
---|
18 | |
---|
19 | /** ¤ÊÅÏ··éJ^Ji¶ñÌ}bsOîñði[µÄ¢é}bv */ |
---|
20 | var $katakanaMap = array(); |
---|
21 | |
---|
22 | var $zenKana = array("A", "C", "E", "G", "I", "J", "L", "N", "P", "R", |
---|
23 | "T", "V", "X", "Z", /*"\", */"^", "`", "c", "e", "g", "i", "j", |
---|
24 | "k", "l", "m", "n", "q", "t", "w", "z", "}", "~", "", "", |
---|
25 | "", "", "", "", "", "", "", "", "", "", "", "", |
---|
26 | "K", "M", "O", "Q", "S", "U", "W", "Y", "[", "]", "_", "a", |
---|
27 | "d", "f", "h", "o", "r", "u", "x", "{", "", "p", "s", "v", |
---|
28 | "y", "|", "@", "B", "D", "F", "H", "", "
", "", "b", "[" ); |
---|
29 | |
---|
30 | var $hanKana = array("±", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", |
---|
31 | "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", |
---|
32 | "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", |
---|
33 | "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "¦", "Ý", |
---|
34 | "¶Þ", "·Þ", "¸Þ", "¹Þ", "ºÞ", "»Þ", "¼Þ", "½Þ", "¾Þ", "¿Þ", |
---|
35 | "ÀÞ", "ÁÞ", "ÂÞ", "ÃÞ", "ÄÞ", "ÊÞ", "ËÞ", "ÌÞ", "ÍÞ", "ÎÞ", |
---|
36 | "³Þ", "Êß", "Ëß", "Ìß", "Íß", "Îß", "§", "¨", "©", "ª", "«", |
---|
37 | "¬", "", "®", "¯", "°" ); |
---|
38 | |
---|
39 | /** |
---|
40 | * ftHgRXgN^ |
---|
41 | */ |
---|
42 | function StringUtil() { |
---|
43 | |
---|
44 | if (count($this->zenKana) == count($this->katakanaMap)) { |
---|
45 | return; |
---|
46 | } |
---|
47 | |
---|
48 | for ($i = 0; $i < count($this->zenKana); $i++) { |
---|
49 | $this->katakanaMap[$this->zenKana[$i]] = $this->hanKana[$i]; |
---|
50 | } |
---|
51 | } |
---|
52 | |
---|
53 | /** |
---|
54 | * p[^ª null ܽÍó¶©ð»f·é |
---|
55 | * |
---|
56 | * @param str String »è·é¶ñ |
---|
57 | * @return <code>null</code>ܽÍó¶ÌêA<code>true</code> |
---|
58 | */ |
---|
59 | function isEmpty($str) { |
---|
60 | return (!isset($str) || strlen(trim($str)) <= 0); |
---|
61 | } |
---|
62 | |
---|
63 | /** |
---|
64 | * split(ª§ÀÅ) |
---|
65 | * |
---|
66 | * @param str String ªÎÛ¶ñ |
---|
67 | * @param delim String æØè¶ |
---|
68 | * @param limit int ÊÌèl |
---|
69 | * @return String[] ªã̶zñ |
---|
70 | */ |
---|
71 | function split($str, $delim, $limit = -1) { |
---|
72 | |
---|
73 | $delimLength = strlen($delim); |
---|
74 | $pos = 0; |
---|
75 | $index = 0; |
---|
76 | $list = array(); |
---|
77 | if ($delimLength != 0) { |
---|
78 | |
---|
79 | while (!(($index = strpos($str, $delim, $pos)) === false)) { |
---|
80 | $list[] = substr($str, $pos, $index-$pos); |
---|
81 | $pos = $index + $delimLength; |
---|
82 | if ($pos >= strlen($str)) break; |
---|
83 | } |
---|
84 | if ($pos == strlen($str)) { |
---|
85 | $list[] = ""; // the last is the delimiter. |
---|
86 | } else if ($pos < strlen($str)) { |
---|
87 | $list[] = substr($str, $pos); |
---|
88 | } |
---|
89 | } else { |
---|
90 | for ($i = 0; $i < strlen($str); $i++) { |
---|
91 | $c = $str{$i}; |
---|
92 | $list[] = "" . $c; |
---|
93 | } |
---|
94 | } |
---|
95 | |
---|
96 | $rs = &$list; |
---|
97 | |
---|
98 | if ((0 < $limit) && ($limit < count($rs))) { |
---|
99 | // limit æèAªª½¢êAªð limit Éí¹é |
---|
100 | $temp = array(); |
---|
101 | |
---|
102 | $pos = 0; |
---|
103 | for ($i = 0; $i < $limit - 1; $i++) { |
---|
104 | $temp[] = $rs[$i]; |
---|
105 | $pos += strlen($rs[$i]) + strlen($delim); |
---|
106 | } |
---|
107 | |
---|
108 | $temp[$limit - 1] = substr($str, $pos); |
---|
109 | for ($i = $limit; $i < count($rs); $i++) { |
---|
110 | $sb = $temp[$limit - 1]; |
---|
111 | } |
---|
112 | |
---|
113 | $rs = $temp; |
---|
114 | } |
---|
115 | |
---|
116 | return $rs; |
---|
117 | } |
---|
118 | |
---|
119 | /** |
---|
120 | * lȏ |
---|
121 | * |
---|
122 | * @param str String l»èÎÛ¶ñ |
---|
123 | * @return boolean true=l false=lÈO |
---|
124 | */ |
---|
125 | function isNumeric($str) { |
---|
126 | $rb = is_numeric($str); |
---|
127 | |
---|
128 | return $rb; |
---|
129 | } |
---|
130 | |
---|
131 | /** |
---|
132 | * lA
ȏ |
---|
133 | * |
---|
134 | * @param str String l»èÎÛ¶ñ |
---|
135 | * @param len int »èÎÛ Length |
---|
136 | * @return boolean true=
àl false=lÅÈ¢ or
ᢠ|
---|
137 | */ |
---|
138 | function isNumericLength($str, $len) { |
---|
139 | $rb = false; |
---|
140 | |
---|
141 | if (StringUtil::isNumeric($str)) { |
---|
142 | if (strlen($str) == $len) { |
---|
143 | $rb = true; |
---|
144 | } |
---|
145 | } |
---|
146 | |
---|
147 | return $rb; |
---|
148 | } |
---|
149 | |
---|
150 | /** |
---|
151 | * SpJ^Ji¶ð¼pJ^JiÌY¶ÉÏ··éB wè³ê½¶ñªnullÌêÍnullðÔ·B |
---|
152 | * |
---|
153 | * @param src String Ï··é³Ì¶ñ |
---|
154 | * @return String Ï·ã̶ñ |
---|
155 | */ |
---|
156 | function convertKatakanaZenToHan($src) { |
---|
157 | if ($src == null ) { |
---|
158 | return null; |
---|
159 | } |
---|
160 | $str = mb_convert_kana($src, "kV", "SJIS"); |
---|
161 | return $str; |
---|
162 | } |
---|
163 | |
---|
164 | /** |
---|
165 | * wè³ê½¶ñðwè³ê½}bsOîñÉîë Ï·µ½Ê̶ñðÔ·B wè³ê½¶ñªnullÌêÍnullðÔ·B |
---|
166 | * |
---|
167 | * @param src String Ï··é³Ì¶ñ |
---|
168 | * @param convertMap |
---|
169 | * Map Ï·ÌÎÛÆÈé¶ÆÏ·ãÌ}bsOîñði[µÄ¢é}bv |
---|
170 | * @return String Ï·ã̶ñ |
---|
171 | */ |
---|
172 | function convert($src, $convertMap) { |
---|
173 | if ($src == null) { |
---|
174 | return null; |
---|
175 | } |
---|
176 | $chars = $this->toChars($src); |
---|
177 | foreach ($chars as $c) { |
---|
178 | if (array_key_exists($c, $convertMap)) { |
---|
179 | $result .= $convertMap[$c]; |
---|
180 | } else { |
---|
181 | $result .=$c; |
---|
182 | } |
---|
183 | } |
---|
184 | |
---|
185 | return $result; |
---|
186 | } |
---|
187 | |
---|
188 | function toChars($str) { |
---|
189 | |
---|
190 | $chars = array(); |
---|
191 | for($i=0; $i<mb_strlen($str); $i++) { |
---|
192 | $out = mb_substr($str, $i, 1); |
---|
193 | $chars[] = $out; |
---|
194 | $intx= 0; |
---|
195 | } |
---|
196 | return $chars; |
---|
197 | } |
---|
198 | } |
---|
199 | // ú» |
---|
200 | $StringUtilInit = new StringUtil(); |
---|
201 | $StringUtilInit = null; |
---|
202 | ?> |
---|