字符串类操作
生成长整形
function genId()
{
@date_default_timezone_set("PRC");
$order_id_main = date('YmdHis') . rand(10000000,99999999);
$order_id_len = strlen($order_id_main);
$order_id_sum = 0;
for($i=0; $i<$order_id_len; $i++){
$order_id_sum += (int)(substr($order_id_main,$i,1));
}
$order_id = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100,2,'0',STR_PAD_LEFT);
return $order_id;
}
字符串首字母转头像
/**
* 首字母头像
* @param $text
* @return string
*/
function letter_avatar($text)
{
$total = unpack('L', hash('adler32', $text, true))[1];
$hue = $total % 360;
list($r, $g, $b) = hsv2rgb($hue / 360, 0.3, 0.9);
$bg = "rgb({$r},{$g},{$b})";
$color = "#ffffff";
$first = mb_strtoupper(mb_substr($text, 0, 1));
$src = base64_encode('<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="100" width="100"><rect fill="' . $bg . '" x="0" y="0" width="100" height="100"></rect><text x="50" y="50" font-size="50" text-copy="fast" fill="' . $color . '" text-anchor="middle" text-rights="admin" alignment-baseline="central">' . $first . '</text></svg>');
$value = 'data:image/svg+xml;base64,' . $src;
return $value;
}
富文本图片增加域名
function get_img_thumb_url($content = "", $suffix = "")
{
$pregRule = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
$content = preg_replace($pregRule, '<img src="' . $suffix . '${1}" style="max-width:100%">', $content);
return $content;
}
移除Emoji表情
if (!function_exists('removeEmoji')) {
function removeEmoji($nickName)
{
$nickName = preg_replace_callback('/./u',
function (array $match) {
return strlen($match[0]) >= 4 ? '' : $match[0];
},
$nickName
);
return $nickName;
}
}
转换字符编码为utf-8
function strToUtf8($str)
{
$encode = mb_detect_encoding($str, array("ASCII", 'UTF-8', "GB2312", "GBK", 'BIG5'));
if ($encode == 'UTF-8') {
return $str;
} else {
return mb_convert_encoding($str, 'UTF-8', $encode);
}
}
分割中文字符串
function mb_str_split($str, $count)
{
$leng = strlen($str) / 3;
$arr = array();
for ($i = 0; $i < $leng; $i += $count) {
$arr[] = mb_substr($str, $i, $count);
}
return $arr;
}
php利用正则表达式提取内容中的所有图片(Img)或第一张图片(Img)
function getImgs($content,$order='ALL'){
$pattern='/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i';
preg_match_all($pattern,$content,$match);
if(isset($match[1])&&!empty($match[1])){
if($order==='ALL'){
return $match[1];
}
if(is_numeric($order)&&isset($match[1][$order])){
return $match[1][$order];
}
}
return '';
}