제거 방법: 정규식 "/[[:punct:]]/i"와 함께 preg_replace() 함수를 사용하여 문자열에서 모든 영어 문장 부호를 찾아 "preg_replace" 구문(' /[[:punct:]]/i', '', $str)".
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP에서는 preg_replace() 함수를 정규식과 함께 사용하여 문자열의 영어 문장 부호를 제거할 수 있습니다.
영어 구두점을 빈 문자열로 바꾸려면 preg_replace() 함수를 사용하세요.
사용된 정규식은 다음과 같습니다.
/[[:punct:]]/i
예: 영어 구두점만 제거하고 다른 문자(중국어 구두점 포함)는 유지합니다.
<?php header("Content-type:text/html;charset=utf-8"); $str = "12!@78#9$%^56&78*9()0.8,7<>8|3[]8'45\"67!【】“45”‘67’"; echo "原字符串:".$str."<br><br>"; $Newstr=preg_replace('/[[:punct:]]/i','',$str); echo "处理后:".$Newstr; ?>
Explanation
preg_replace() 함수는 정규식을 수행할 수 있습니다. 검색 및 교체.
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
$subject가 배열이면 preg_replace() 함수는 배열을 반환하고, 그렇지 않으면 문자열을 반환합니다.
preg_replace() 함수가 일치하는 항목을 찾으면 대체된 $subject를 반환하고, 그렇지 않으면 변경되지 않은 $subject를 반환합니다. preg_replace() 함수의 각 매개변수($limit 매개변수 제외)는 배열일 수 있습니다. $pattern 매개변수와 $replacement 매개변수가 모두 배열인 경우 함수는 배열에 나타나는 순서대로 키를 처리합니다. 오류가 발생하면 NULL이 반환됩니다.
$replacement 매개변수에는 역참조 \n 또는 $n이 포함될 수 있으며, 구문상 후자가 선호됩니다. 이러한 각 참조는 일치된 n번째 캡처 하위 그룹에 의해 캡처된 텍스트로 대체됩니다. n은 0-99일 수 있으며, \0 및 $0은 텍스트와 일치하는 완전한 패턴을 나타냅니다.
하위 그룹 캡처의 일련 번호 계산 방법은 다음과 같습니다. 캡처 하위 그룹을 나타내는 왼쪽 괄호는 1부터 시작하여 왼쪽에서 오른쪽으로 계산됩니다. $replacement에 백슬래시를 사용하려면 4(먼저 PHP 문자열이므로 "\\", 이스케이프 후 2개, 정규식 엔진 백슬래시를 통과한 후 원본 텍스트로 간주되므로 "\\")를 사용해야 합니다.
대체 모드에서 작업하고 역참조 뒤에 다른 숫자가 와야 하는 경우(예: 일치하는 패턴 바로 뒤에 원래 숫자 추가) \1과 같은 구문을 사용하여 역참조를 설명할 수 없습니다. 예를 들어, \11은 preg_replace()가 \1 역참조 뒤에 원래 1이 오는지, 아니면 \11 역참조 뒤에 아무 것도 나오지 않는지 이해할 수 없게 만듭니다. 이 경우 해결책은 ${1}1을 사용하는 것입니다. 이렇게 하면 소스 1에 대한 별도의 역참조인 $1에 대한 별도의 역참조가 생성됩니다.
더 이상 사용되지 않는 e 수정자를 사용하는 경우 이 함수는 일부 문자(예: ', " 및 NULL)를 이스케이프한 다음 역참조 대체를 수행합니다. 이 작업이 완료되면 단일로 인한 구문 오류를 구문 분석한 후 역참조가 없는지 확인하세요. 따옴표 또는 큰따옴표(예: 'strlen('$1')+strlen("$2")') PHP의 문자열 구문을 준수하고 교체가 완료되면 엔진이 사용됩니다. 결과 문자열을 PHP 코드로 평가하고 반환 값을 대체할 최종 문자열로 사용하는 eval 메서드.
PHP 비디오 튜토리얼위 내용은 PHP에서 영어 구두점을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!