>  기사  >  백엔드 개발  >  PHP 정기 교체 preg_replace 함수를 사용하는 방법

PHP 정기 교체 preg_replace 함수를 사용하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-08-06 14:29:072039검색

PHP 일반 교체 preg_replace 함수 사용 방법: 1. 0자를 제거합니다. 코드는 [preg_replace("/0/","",$str)]입니다. 2. 모든 숫자를 제거합니다. 코드는 [preg_replace(")입니다. /[ 0-9]/","",$str)].

PHP 정기 교체 preg_replace 함수를 사용하는 방법

PHP 일반 교체 preg_replace 함수 사용 방법:

<?php
$str="as2223adfsf0s4df0sdfsdf";
echo preg_replace("/0/","",$str);//去掉0字符,此时相当于 replace的功能, preg_replace("/0/","A",$str); 这样就是将0变成A的意思了
echo preg_replace("/[0-9]/","",$str);//去掉所有数字
echo preg_replace("/[a-z]/","",$str); //这样是去掉所有小写字母
echo preg_replace("/[A-Z]/","",$str); //这样是去掉所有大写字母
echo preg_replace("/[a-z,A-Z]/","",$str); //这样是去掉所有字母
$str="as2223adfsAAf0s4df0s中国人dD中南海DDfsdf";
echo preg_replace("/[a-z,A-Z,0-9]/","",$str); //去掉所有字母和数字
?>

위의 예를 살펴본 후 [ ] 의 역할과 그 안에 있는 역할이 무엇인지 모두 아실 것입니다. 또한 일치하는 문자열은 / /로 추가해야 함을 알 수 있습니다(예제의 첫 번째 매개변수 참조)[ ] 和里面的,有什么作用了。也可以看到,匹配的字符串必须加 / /(看例子的第一个参数)

<?php
$str="acsdcs<55555555>sc<6666>sdcd";
echo preg_replace("/<.*>/","",$str);

这个是表示去除以f153b53ac0661504fc230794c67fdadf

$str="acsdcs<55555555>sc<6666>sdcd";

이는 f77ab27e1d413d500b145101c6c9f902로 끝나는 경우 출력 결과는 다음과 같습니다. acsdcssdcd

참고: 위의 .*는 모든 문자를 의미합니다. 즉, a8093152e673feb7aba1828c43532094로 묶인 모든 문자는 제거됩니다. 임의의 문자를 나타내고, *는 임의의 숫자를 나타냅니다.

이제 변경해 보겠습니다. 임의의 숫자가 되지 않도록 하려면 어떻게 해야 할까요?

echo preg_replace("/<.{4}>/","",$str);
<?php
$str="acsdcs<55555555>sc<6666>sd<>cd";
echo preg_replace("/<[0-9]*>/","",$str);
//输出acsdcscd
echo "<hr>";
echo preg_replace("/<[0-9]+>/","",$str);
//输入acsdcsscsd<>cd
?>

//이번 출력: acsdcs02eac4294052cb4fb9d07d6c10a3ea36scsdcd {4}이 조건을 지정하므로 a8093152e673feb7aba1828c43532094 내의 4개 문자만 조건을 충족하므로 02eac4294052cb4fb9d07d6c10a3ea36 교체되었습니다.

참고: 이때 우리는 또 다른 지식 포인트를 배웠습니다. {숫자}는 이전 숫자를 지정하는 것을 의미하고, *는 임의의 숫자(0-무한)를 의미합니다.

*를 제외하고, {지정된 횟수}는 반복 횟수를 의미하며, 많은 표현:

<?php
$str="acsdcs<55555555>sc<6666>sd<>cd";
echo preg_replace("/<[0-9]?>/","",$str);
//输出acsdcs<55555555>sc<6666>sdcd
?>

위 예는 단지 *와 +의 차이를 표현하기 위한 것이며, *는 0번 또는 n번 반복한다는 뜻이고, +는 1회 이상을 의미합니다. 즉, 한 예에서는 d50468a839ffb217036543f8411f63f0는 a8093152e673feb7aba1828c43532094에 해당하는 숫자가 하나 이상 포함되어야 함을 의미합니다.

위의 예에서 *와 +를 사용한 출력 결과가 왜 다른지 이제 다들 아시리라 믿습니다

다시 말씀해 주세요:

rrreee

여기서 ?는 0 또는 1이라는 뜻인가요? 1회 이상 조건이 다시 충족되지 않습니다.

요약하자면, 위에서 * + ?와 중괄호 {}가 반복 횟수를 나타내는 방법을 배웠습니다.

관련 학습 권장 사항: php 프로그래밍
(동영상)

🎜

위 내용은 PHP 정기 교체 preg_replace 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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