PHP에서 콘텐츠의 일부를 숨기는 방법: 1. PHP 샘플 파일을 만듭니다. 2. "function hidestr($string, $start = 0, $length = 0, $re = '*') {.. .}" 그냥 숨기려면 메소드를 사용하세요.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
php 콘텐츠의 일부를 숨기는 방법은 무엇입니까?
일부 문자열(예: 이름, 사용자 이름, ID 카드, IP, 휴대폰 번호 등)을 숨기는 PHP 함수
이 함수의 사용법은 PHP 내장 함수 substr()과 거의 동일합니다. substr()은 차단에 사용되고 hidestr()은 숨기기에 사용됩니다~
/** * 将一个字符串部分字符用$re替代隐藏 * @param string $string 待处理的字符串 * @param int $start 规定在字符串的何处开始, * 正数 - 在字符串的指定位置开始 * 负数 - 在从字符串结尾的指定位置开始 * 0 - 在字符串中的第一个字符处开始 * @param int $length 可选。规定要隐藏的字符串长度。默认是直到字符串的结尾。 * 正数 - 从 start 参数所在的位置隐藏 * 负数 - 从字符串末端隐藏 * @param string $re 替代符 * @return string 处理后的字符串 */ function hidestr($string, $start = 0, $length = 0, $re = '*') { if (empty($string)) return false; $strarr = array(); $mb_strlen = mb_strlen($string); while ($mb_strlen) {//循环把字符串变为数组 $strarr[] = mb_substr($string, 0, 1, 'utf8'); $string = mb_substr($string, 1, $mb_strlen, 'utf8'); $mb_strlen = mb_strlen($string); } $strlen = count($strarr); $begin = $start >= 0 ? $start : ($strlen - abs($start)); $end = $last = $strlen - 1; if ($length > 0) { $end = $begin + $length - 1; } elseif ($length < 0) { $end -= abs($length); } for ($i=$begin; $i<=$end; $i++) { $strarr[$i] = $re; } if ($begin >= $end || $begin >= $last || $end > $last) return false; return implode('', $strarr); } //隐藏手机号中间4位 hidestr('18600005940', 3, 4); //186****5940 //只保留姓名里的最后一个字,常见与ATM,网银等 hidestr('谢世亮', 0, -1); //**亮 //隐藏邮箱部分内容,常见网站帐号,如支付宝等 list($name, $domain) = explode('@', '979137@qq.com'); hidestr($name, 1, -1) . '@' . hidestr($domain, 0, 2); // 9****7@**.com
추천 학습: "PHP Video Tutorial"
위 내용은 PHP에서 일부 내용을 숨기는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!