두 가지 방법: 1. preg_replace()를 사용하여 정규식 검색 및 바꾸기를 수행합니다. 문자열에서 일치하는 문자를 null 문자로 바꾸면 됩니다. 구문은 "preg_replace(regular, "", $str )"입니다. 2. preg_match_all()을 사용하여 문자열의 정규식과 일치하는 모든 결과를 검색합니다. 일치하는 각 결과는 배열 $array에 배치됩니다. 구문은 "preg_match_all(regular, $str, $array);"입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
정규 표현식이란 무엇입니까
정규 표현식은 문자열 연산을 위한 논리 공식입니다. 미리 정의된 특정 문자와 이러한 특정 문자의 조합을 사용하여 "규칙 문자열"을 형성합니다. 이 "규칙 문자열"은 문자열에 대한 필터링 논리를 표현하는 데 사용됩니다.
정규식은 특정 규칙으로 패턴을 구성하고 이를 입력 문자열 정보와 비교한 후 특정 함수에서 이를 사용하여 문자열 일치, 검색, 대체, 분할 등의 작업을 수행합니다.
php는 정규식을 사용하여 문자열을 필터링합니다.
PHP에서는 정규식을 사용하여 문자열을 필터링하거나 특정 문자를 제외(삭제)하거나 추출할 수 있습니다.
방법 1. preg_replace() 함수를 사용하세요.
preg_replace() 함수는 정규식 검색 및 치환을 수행할 수 있으며 강력한 문자열 교체 처리 함수입니다.
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
는 주제에서 패턴과 일치하는 부분을 검색하여 대체 항목으로 바꾸는 것을 의미합니다. 선택적 매개변수 제한은 최대 대체 횟수를 설정하는 데 사용됩니다(기본값은 -1, 무제한).
예:
<?php header('content-type:text/html;charset=utf-8'); $str ='0我是123456一段测试的字789符串0'; echo "原字符串:".$str."<br>"; $result = preg_replace("/[^0-9]/", "", $str); echo "过滤后字符串:".$result; ?>
preg_replace("/[^0-9]/", "", $str)
는 0~9
를 제외한 일치를 의미하며 이러한 문자를 null 문자로 바꾸면(즉, 해당 문자 삭제) 숫자만 남게 됩니다. preg_replace("/[^0-9]/", "", $str)
的意思为匹配除了0~9
间的数字以外的字符,并将这些字符替换为空字符(即删除这些字符),那么就只剩下数字字符了:
方法2:使用preg_match_all()函数
preg_match_all()函数可以搜索字符串中所有可以和正则表达式匹配的结果,是一个执行全局正则表达式匹配的函数,它的语法格式为:
preg_match_all($pattern, $subject [, &$matches [, $flags = PREG_PATTERN_ORDER [, $offset = 0 ]]])
$pattern 正则表达式
$subject 进行匹配的字符串
$matches 所有匹配结果(数组)
preg_match_all() 将实现全部结果的匹配,如果想要匹配成功一次后停止匹配,需要使用 preg_match() 函数。
示例:
<?php header('content-type:text/html;charset=utf-8'); $str ='0我是123456一段测试的字789符串0'; echo "原字符串:".$str."<br><br>"; $result = ''; preg_match_all('/\d+/',$str,$array); echo "过滤结果:"; var_dump($array); foreach($array as $arr){ foreach($arr as $value){ $result .= $value; } } echo "过滤后字符串:".$result; ?>
preg_match_all('/d+/',$str,$array)
的意思为在字符串$str中多次查找只包含0~9
间数字字符的子串,将每次的匹配结果放在一个数组$array
中。我们使用var_dump($array)
来输出这个数组看看:
会发现结果数组$array
preg_match_all() 함수를 사용하여 문자 검색 가능 문자열의 모든 결과 정규식 일치는 전역 정규식 일치를 수행하는 함수입니다. 구문 형식은 다음과 같습니다.
foreach($array as $arr){ foreach($arr as $value){ $result .= $value; } } echo "过滤后字符串:".$result;🎜🎜🎜$pattern 정규식 🎜🎜🎜🎜$subject 일치할 문자열 🎜🎜🎜🎜$matches 일치하는 모든 결과(배열) ) 🎜🎜🎜🎜preg_match_all()은 한 번의 성공적인 일치 후에 일치를 중지하려면 preg_match() 함수를 사용해야 합니다. 🎜🎜예: 🎜rrreee🎜
preg_match_all('/d+/',$str,$array)
는 $str 문자열의 여러 검색에 0~9
A만 포함됨을 의미합니다. code> 사이의 숫자 부분 문자열이며 일치하는 각 결과는 $array
배열에 배치됩니다. var_dump($array)
를 사용하여 이 배열을 출력하고 다음을 확인하세요. 🎜🎜$array
는 2차원 배열이고 일치하는 결과를 포함하는 요소를 찾을 수 있습니다. 내부 배열입니다. 이러한 요소를 문자열로 연결하려면 두 가지 수준의 foreach 루프를 중첩해야 합니다. 🎜rrreee🎜🎜🎜🎜권장 학습: "🎜PHP 비디오 튜토리얼🎜"🎜위 내용은 PHP에서 문자열의 문자를 제외하기 위해 일반 규칙을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!