```
/**
* 字符串替换
* @param string $str 要替换的字符串
* @param string $repStr 即将被替换的字符串
* @param int $start 要替换的起始位置,从0开始
* @param string $splilt 遇到这个指定的字符串就停止替换
*/
function StrReplace($str,$repStr,$start,$splilt = ''){
$newStr = substr($str,0,$start);
$breakNum = -1;
for ($i=$start;$i<strlen($str);$i++){
$char = substr($str,$i,1);
if($char==$splilt){
$breakNum = $i;
break;
}
$newStr.=$repStr;
}
if($splilt!='' && $breakNum>-1){
for ($i=$breakNum;$i<strlen($str);$i++){
$char = substr($str,$i,1);
$newStr.=$char;
}
}
return $newStr;
}
```
```
/**
* 截取字符串
*/
function StrSub($str, $start = 0, $length, $charset = "utf-8", $suffix = false){
$newStr = '';
if (function_exists ( "mb_substr" )) {
if ($suffix){
$newStr = mb_substr ( $str, $start, $length, $charset )."...";
}else{
$newStr = mb_substr ( $str, $start, $length, $charset );
}
} elseif (function_exists ( 'iconv_substr' )) {
if ($suffix){
$newStr = iconv_substr ( $str, $start, $length, $charset )."...";
}else{
$newStr = iconv_substr ( $str, $start, $length, $charset );
}
}
if($newStr==''){
$re ['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re ['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re ['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re ['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all ( $re [$charset], $str, $match );
$slice = join ( "", array_slice ( $match [0], $start, $length ) );
if ($suffix)
$newStr = $slice;
}
return $newStr;
}
```
- PHP收集
- 1、精准获取文件的MIME类型
- 2、获取指定内容的第一张图片做封面
- 3、生成二维码
- 4、HTTP请求(请求微信token有用)
- 5、SQL的安装与卸载、执行
- 6、stdclass 对象转数组
- 7、php调用restfull API
- 8、二维数据排序
- 9、多维数组合并
- 10、API签名与验证
- 11、删除一维数据指定key或者允许
- 12、字符串替换、截取
- 13、返回带数据与状态与状态语的json函数封装
- 14、EXCEL上传下载封装
- 15、循环删除指定目录下的文件与文件夹、创建指定文件夹
- 16、强制把日期或者时间戳转星期几
- 17、检测字符串是否包含某字符串
- 18、获取中文字符拼音首字母
- 19、判断手机、邮箱格式正确否、隐藏手机号码
- 20、TP5把图片、视频、文件上传封装
- 21、生成商品编号/货号/订单号/小票号
- 22、高精度数值添加
- 23、加解密字符串、可逆加解密
- 24、编辑器图片上传验证
- 25、转义单引号
- 26、字符串去重
- 27、Base64加解密
- 28、将空内容设置为特定内容
- 29、判断访问来源
- 30、将字符串转换为时间戳,解决部分服务器时间不能超过2038的问题
- 31、驼峰命名转下划线命名
- 32、写入日志 (使用tp自带驱动记录到runtime目录中
- 33、隐藏敏感字符、隐藏部分字符
- 34、获取全局唯一标识符、生成随机数
- 35、过滤emoji表情
- 36、无限分类 数组转 树形结构
- 37、递归生成分类栏目结构
- 38、判断是否是json字符串
- 39、计算时间差(优化友好时间体验)、格式化月份
- 40、生成缩略图
- 41、敏感词过滤
- 42、获取当前类方法
- 43、取文件目录列表,该方法返回数组
- 44、防XSS注入、SQL盲注入
- JS收集
- 1、获取图片真实宽高
- 2、禁用F12与鼠标右键事件
- 3、安卓播放视频结束出现广告
- 4、TP手机端分页封装
- 5、flex布局,多行最后一行向左排列
- 6、判断移动终端内核
- 7、判断IE浏览器内核
- 8、设置主页与加入收藏
- 9、解决H5微信转发分享特殊符号处理
- CSS收集
- 1、移动IOS的按钮默认样式去除
- 2、超出行数隐藏显示缩略号
- 3、清除浮动
- 4、背景图透明度兼容
- HTML收集
- 1、列表视频
- 小程序
- 1、请求封装
- 2、插件收集
- 问题记录集