字符处理集合MST_String
php代码
<?php class MST_String { const DET_HIGHLIGHT = '%s'; protected static $_loadStr = array(); /** * 获取跟定字符串的字节长度 */ static public function length($str) { return mb_strlen($str, PROJECT_ENCODE); } /** * 获取跟定字符串的字符长度 */ static public function width($str) { return mb_strwidth($str, PROJECT_ENCODE); } /** * 按字节长度截取指定字符串 */ static public function cut($str, $length, $suffix = '...') { $strLen = mb_strlen($str, PROJECT_ENCODE); $suffixLen = mb_strlen($suffix, PROJECT_ENCODE); if ($strLen <= $length || $strLen <= $suffixLen) return $str; return (mb_substr($str, 0, $length - $suffixLen, PROJECT_ENCODE)) . $suffix; } /** * 按字符长度截取指定字符串 */ static public function widthCut($str, $width, $suffix = '...') { $strWidth = mb_strwidth($str, PROJECT_ENCODE); $suffixWidth = mb_strwidth($suffix, PROJECT_ENCODE); if ($strWidth <= $width || $strWidth <= $suffixWidth) return $str; $newStr = mb_strimwidth($str, 0, $width, $suffix, PROJECT_ENCODE); return $newStr; } /** * 驼峰命名 */ static public function camelize($val, $split = '_', $firstUpper = true) { if ($val == null) return $val; if (strpos($val, $split) === false) return ($firstUpper ? ucfirst($val) : $val); $val = str_replace('_', ' ', $val); $val = ucwords($val); $val = str_replace(' ', null, $val); if (!$firstUpper) $val = lcfirst($val); return $val; } /** * 反驼峰 */ static public function tableize($val, $split = '_') { $val = preg_replace('/([A-Z]{1})/e', '\'_\' . strtolower(\'\\1\')', $val); if ($val{0} == '_') $val = substr($val, 1); return $val; } /** * 日期转日期的unix timestamp */ static public function date2num($date) { $parse = date_parse($date); return mktime($parse['hour'], $parse['minute'], $parse['second'], $parse['month'], $parse['day'], $parse['year']); } /** * 生成字符缓存 */ static public function buildStrCache($type) { $name = "String/{$type}"; $file = MST_Core::getPathOf($name, MST_Core::P_LIB, '.txt'); if (is_file($file)) { $str = file_get_contents($file); $strAry = explode("\r\n", $str); $result = array(); foreach ($strAry as $line) { $items = explode(',',$line); for ($i = 1; $i < count($items);$i++) { $result[$items[$i]] = $items[0]; } } return file_put_contents(MST_Core::getPathOf($name, MST_Core::P_LIB, '.php'), "<?php\r\nreturn ".var_export($result, 1).";"); } return false; } /** * 读取字符缓存 */ static public function getStrCache($type) { if (!isset(self::$_loadStr[$type])) { $file = 'String/' . $type; self::$_loadStr[$type] = MST_Core::import($file, MST_Core::P_LIB, '.php'); } return self::$_loadStr[$type]; } /** * 字符替换 */ static public function charReplace($str, $type) { if ($typeWords = self::getStrCache($type)) { return str_replace(array_keys($typeWords), array_values($typeWords), $str); } return $str; } /** * 生成指定字符内容的摘要信息 */ static public function summary($content, $len = 256) { $content = nl2br($content); $content = strip_tags($content); $content = str_replace(' ', ' ', $content); $content = trim($content); $content = preg_replace('/([\r\n]+|[\s]{2,})/i', ' ', $content); $content = MST_String::cut($content, $len); return $content; } }
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
1 周前
By DDD
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
在哪里可以找到原子中的起重机控制钥匙卡
1 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)