>  기사  >  백엔드 개발  >  PHP는 일부 문자를 숨깁니다

PHP는 일부 문자를 숨깁니다

WBOY
WBOY원래의
2023-05-07 09:52:06947검색

PHP 개발 시 일부 문자를 숨겨야 하는 경우가 있습니다. 예를 들어 ID 카드 번호나 휴대폰 번호를 표시할 때 가운데 숫자의 일부를 숨겨야 합니다. 이 기사에서는 PHP에서 일부 문자를 숨기는 데 일반적으로 사용되는 몇 가지 방법을 소개합니다.

1. substr_replace() 함수

substr_replace 함수는 문자열의 일부를 바꾸는 데 사용됩니다. 이 함수를 사용하면 숨겨야 하는 일부 문자를 숨길 수 있습니다. 구체적인 사용법은 다음과 같습니다.

$str = '13812345678';
$hideStr = substr_replace($str, '****', 3, 4);
echo $hideStr; //输出:138****5678

위 예에서는 휴대폰 번호 13812345678에서 4~7번째 숫자를 숨기고 "**"으로 바꿉니다. 그 중 두 번째 파라미터는 교체할 문자열, 세 번째 파라미터는 교체 시작 위치(0부터 세기), 네 번째 파라미터는 교체 길이이다. 매개변수의 위치와 값은 필요에 따라 조정될 수 있습니다.

2. str_pad() 함수

str_pad 함수는 지정된 길이의 문자열을 채우는 데 사용됩니다. 이 함수를 사용하여 문자열의 일부를 가로채 고정 길이의 숨겨진 기호로 대체한 다음 이를 문자열의 다른 부분과 연결할 수 있습니다. 구체적인 사용법은 다음과 같습니다.

$str = '110101199001011234';
$hideChar = '*';
$startPos = 6;
$replaceLen = 8;
$hideStr = str_pad('', $replaceLen, $hideChar);
$part1 = substr($str, 0, $startPos);
$part2 = substr($str, $startPos + $replaceLen);
$hidePart = $part1 . $hideStr . $part2;
echo $hidePart; //输出:110101********34

위 코드는 ID번호 110101199001011234에서 7~14번째 숫자를 숨기고 "*"로 대체합니다. 그 중 두 번째 매개변수는 숨김 문자열의 길이, 세 번째 매개변수는 숨김 문자, 네 번째 매개변수는 숨김이 필요한 문자열의 길이를 필요에 따라 조정하여 최종적으로 숨김 ID를 출력합니다. 숫자.

3. 정규식 교체

정규식은 PHP에서 문자열 일치 및 교체에 일반적으로 사용되는 도구이기도 합니다. 정규식을 사용하여 문자열을 숨길 수도 있습니다. 구체적인 사용법은 다음과 같습니다.

$str = '13812345678';
$hideStr = preg_replace('/\d(?=\d{4})/', '*', $str);
echo $hideStr; //输出:138****5678

위 예에서는 정규식을 사용하여 휴대폰 번호의 2~5번째 숫자를 찾아 "*" 기호로 대체했습니다. 그 중 정규식에서 숫자를 나타내는 숫자가 d인데, (?=d{4})는 숫자 뒤에 4개의 숫자가 있어야 한다는 뜻이다. 여기서는 정규식의 너비가 0인 긍정 예측을 사용하여 숨겨진 기호를 채우기 위해 일치하는 숫자 앞에 간격을 확보할 수 있습니다.

요약

이 기사에서는 PHP에서 일부 문자를 숨기는 데 일반적으로 사용되는 세 가지 방법, 즉 substr_replace 함수, str_pad 함수 및 정규식 대체를 소개합니다. 각 방법에는 고유한 특성과 적용 가능한 시나리오가 있으며 실제 필요에 따라 선택할 수 있습니다. 실제 개발에서는 실제 비즈니스 요구 사항과 보안 고려 사항에 따라 해당 방법을 사용하여 숨길 수 있습니다.

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.