} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR' ], 'unknown') ) { $ip = $_SERVER['REMOTE_ADDR'] } return preg_match ( '/[d.]{7,15}/', $ip, $matches ) ? 0] : '';
10。文字インターセプトは UTF8/GBK をサポートします
コードは次のとおりです。
/**
* 文字インターセプトは UTF8/GBK をサポートします
* @param $string
* @param $length
* @param $dot
*/
function str_cut($string, $length, $dot = '...') {
$strlen = strlen($string);
if($strlen <= $length) return $string;
$string = str_replace(array(' ',' ', '&', '"', ''', '"', '”', '—', '<', '>', '· ', '…')、array('∵',' '、'&'、'"'、"'"、'"'、'"'、'—'、'<'、'>'、 '・'、'…')、$string);
$strcut = '';
if(strto lower(CHARSET) == 'utf-8') {
$length = intval($length-strlen($dot)-$length/3);
$n = $tn = $noc = 0;
while($n < strlen($string)) {
$t = ord($string[$n]);
if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
$tn = 1; $n++; $noc++;
} elseif(194 <= $t && $t <= 223) {
$tn = 2; $n += 2; $noc += 2;
} elseif(224 <= $t && $t <= 239) {
$tn = 3; $n += 3; $noc += 2;
} elseif(240 <= $t && $t <= 247) {
$tn = 4; $n += 4; $noc += 2;
} elseif(248 <= $t && $t <= 251) {
$tn = 5; $n += 5; $noc += 2;
} elseif($t == 252 || $t == 253) {
$tn = 6; $n += 6; $noc += 2;
} else {
$n++;
}
if($noc >= $length) {
ブレーク;
}
}
if($noc > $length) {
$n -= $tn;
}
$strcut = substr($string, 0, $n);
$strcut = str_replace(array('∵', '&', '"', "'", '"', '"', '—', '<', '>', '・', '…')、array(' '、'&'、'"'、'''、'"'、'"'、'—'、'<'、'>'、'・'、'... ')、$strcut);
} else {
$dotlen = strlen($dot);
$maxi = $length - $dotlen - 1;
$current_str = '';
$search_arr = array('&',' ', '"', "'", '"', '"', '—', '<', '>', '·', '…' ,'∵');
$replace_arr = array('&',' ', '"', ''', '"', '”', '—', '<', '>', ' ·'、'…'、' ');
$search_flip = array_flip($search_arr);
for ($i = 0; $i $current_str = ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
if (in_array($current_str, $search_arr)) {
$key = $search_flip[$current_str];
$current_str = str_replace($search_arr[$key], $replace_arr[$key], $current_str);
}
$strcut .= $current_str;
}
}
return $strcut.$dot;
}
11.生産随机字符串
复制代代码如下:
/**
* ランダムな文字列を生成します
*
* @param int $length 出力長
* @param string $chars オプション、デフォルトは 0123456789 です
* @return string String
*/
functionrandom($length, $chars = '0123456789') {
$hash = '';
$max = strlen($chars) - 1; 0; $i $hash .= $chars[mt_rand(0, $max)] }
12.配列
のコード コードは次のとおりです:
/*** 文字列を配列に変換します *
* @param string $data String
* @return array 配列形式を返します。データが空の場合は、空の配列を返します
*/
function string2array($data) {
if($data == '') return array ();
eval("$array = $data;");
return $array;
コードをコピーします。
/* *
* 配列を文字列に変換します
*
* @param array $data 配列 * @param bool $isformdata 0 の場合、new_stripslashes 処理は使用されません、オプションのパラメータ、デフォルトは 1 です
* @return string 文字列を返します。データは空です、空を返します */ function array2string($data, $isformdata = 1) {
if($data == '') return ''; if($isformdata) $data = new_stripslashes($ data); return addedlashes(var_export($data, TRUE));
14. バイト数を他の単位に変換します
コードは次のとおりです。
/ **&#&* /
Functionsizecount($ filesize){
} elseif($ filesize&gt; = 1048576){1024* 100) / 100
http://www.bkjia.com/PHPjc/327409.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/327409.html技術記事以下の PHP 関数は、当社の IT 部門で最も一般的に使用されるプロジェクト開発関数であり、多くのプロジェクトで使用されており、比較的一般的です。 1.リクエストインターフェースの処理関数...