> 백엔드 개발 > PHP 문제 > PHP에서 일부 내용을 숨기는 방법

PHP에서 일부 내용을 숨기는 방법

藏色散人
풀어 주다: 2023-03-15 06:44:01
원래의
3019명이 탐색했습니다.

PHP에서 콘텐츠의 일부를 숨기는 방법: 1. PHP 샘플 파일을 만듭니다. 2. "function hidestr($string, $start = 0, $length = 0, $re = '*') {.. .}" 그냥 숨기려면 메소드를 사용하세요.

PHP에서 일부 내용을 숨기는 방법

이 기사의 운영 환경: 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(&#39;&#39;, $strarr);
}
//隐藏手机号中间4位
hidestr(&#39;18600005940&#39;, 3, 4); //186****5940
//只保留姓名里的最后一个字,常见与ATM,网银等
hidestr(&#39;谢世亮&#39;, 0, -1); //**亮
//隐藏邮箱部分内容,常见网站帐号,如支付宝等
list($name, $domain) = explode(&#39;@&#39;, &#39;979137@qq.com&#39;);
hidestr($name, 1, -1) . &#39;@&#39; . hidestr($domain, 0, 2); // 9****7@**.com
로그인 후 복사

추천 학습: "PHP Video Tutorial"

위 내용은 PHP에서 일부 내용을 숨기는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿