3 * String.inc 1.00 2001/03/08
5 * Copyright 2001 Czech On Line a.s. All Rights Reserved.
13 function escapeSpecialChars($str, $dir = "to") {
34 return str_replace($from, $to, $str);
35 } elseif ($dir == "from") {
36 return str_replace($to, $from, $str);
40 function unhtmlspecialchars($str) {
41 $trans = get_html_translation_table(HTML_SPECIALCHARS);
42 $trans = array_flip($trans);
43 return strtr($str, $trans);
47 function cutString($string, $cut_limit, $cut_words = 0) {
48 // returns $string cutted to lenght $cut_limit or limited to $cut_words words
49 // if $cut_words is used, $cut_limit is ignored
50 // returned string is also choped and trimed
51 $str_tmp = trim(chop($string));
52 $StringArray=explode(" ", $str_tmp);
54 if (count($StringArray) < $cut_words) {
58 for ($i=0; $i < $cut_words; $i++) {
59 $string_cut .= " " . $StringArray[$i];
61 return ltrim($string_cut) . "...";
63 if ($cut_limit > strlen($str_tmp)) {
67 $threedots_length = 3;
69 while (strlen($string_cut)+strlen($StringArray[$i])+$threedots_length < $cut_limit) {
70 $string_cut .= " " . $StringArray[$i];
73 return ltrim($string_cut) . "...";
77 function escapeSql($str) {
78 # single quote ('), double quote ("), backslash (\) and
80 $str = addslashes($str);
84 function unescapeSql($str) {
85 $str = stripslashes($str);
89 function escapeSqlLike($str) {
90 $str = $this->escapeSql($str);
91 $str = str_replace('%','\%', $str);
92 $str = str_replace('_','\_', $str);
96 function unescapeSqlLike($str) {
97 $str = $this->unescapeSql($str);
98 $str = str_replace('\%','%',$str);
99 $str = str_replace('\_','_',$str);
104 * Recode a <code>string</code> into plain ascii string
105 * replace <code>czech</code> characters
110 function recodeToAscii($string) {
111 return strtr($string, "áèïéìíòóø
\9a\9dúùý
\9eÁÈÏÉÌÍÒÓØ
\8a\8dÚÙÝ
\8e¹»¾©«®", "acdeeinorstuuyzACDEEINORSTUUYZstzSTZ");
117 * converts czech code pages: Windows CP1250 to Latin ISO-8859-2
120 function winToIso($string) {
121 return strtr($string,'
\9a\9d\9e\8a\8d\8e','¹»¾©«®');
123 function isoToWin($string) {
124 return strtr($string,'¹»¾©«®','
\9a\9d\9e\8a\8d\8e');
128 * Next 4 function are for changing case of a <code>string</code> within its coding.
134 function strToUpperCZ($str) {
135 $str = strtoupper(strtr($str, 'áèïéìíå¾òóø
\9a\9dúùý
\9e¹»¾', 'ÁÈÏÉÌÍżÒÓØ
\8a\8dÚÙÝ
\8e©«®'));
139 function strToUpperCS($str) {
140 return $this->strToUpperCZ($str);
143 function strToLowerCZ($str) {
144 $str = strtolower(strtr($str, 'ÁÈÏÉÌÍżÒÓØ
\8a\8dÚÙÝ
\8e©«®', 'áèïéìíå¾òóø
\9a\9dúùý
\9e¹»¾'));
148 function strToLowerCS($str) {
149 return $this->strToLowerCZ($str);
152 function dateToSql($value) {
153 return (sprintf("%04d-%02d-%02d", $value["year"], $value["mon"], $value["mday"]));
156 function sqlToDate($value) {
157 $a["year"]=(int)substr($value,0,4);
158 $a["mon"]=(int)substr($value,5,2);
159 $a["mday"]=(int)substr($value,8,2);
163 function timeToSql($value) {
164 return (sprintf("%02d:%02d:%02d", $value["hours"], $value["minutes"], $value["seconds"]));
167 function sqlToTime($value) {
168 $a["hours"]=(int)substr($value,0,2);
169 $a["minutes"]=(int)substr($value,3,2);
170 $a["seconds"]=(int)substr($value,6,2);
174 function dateTimeToSql($value) {
175 return (sprintf("%04d-%02d-%02d %02d:%02d:%02d", $value["year"], $value["mon"], $value["mday"], $value["hours"], $value["minutes"], $value["seconds"]));
178 function sqlToDateTime($value) {
179 $a["year"]=(int)substr($value,0,4);
180 $a["mon"]=(int)substr($value,5,2);
181 $a["mday"]=(int)substr($value,8,2);
182 $a["hours"]=(int)substr($value,11,2);
183 $a["minutes"]=(int)substr($value,14,2);
184 $a["seconds"]=(int)substr($value,17,2);
188 function sqlToUnix($value) {
189 $dt = $this->sqlToDateTime($value);
190 return mktime($dt['hours'], $dt['minutes'], $dt['seconds'],
191 $dt['mon'], $dt['mday'], $dt['year']);
194 function czTime($value, $seconds=TRUE) {
196 return sprintf("%d:%02d:%02d", $value['hours'], $value['minutes'],
200 return sprintf("%d:%02d", $value['hours'], $value['minutes']);
204 function czDate($value) {
205 return sprintf("%d.%d.%d", $value['mday'], $value['mon'],
209 function encodeString($string) {
210 for ($i = 0;$i < strlen($string);$i++) {
211 $ch = substr($string,$i,1);
213 $encoded_string .= dechex($ch);
215 return $encoded_string;
218 function decodeString($string) {
219 for ($i = 0;$i < strlen($string);$i += 2) {
220 $ch = substr($string,$i,2);
223 $decode_string .= chr($ch);
225 return $decode_string;