php preg 일치 사용법은 정규식 일치를 수행하는 것이며 구문은 [int preg_match (string $pattern, string $subject [, array &$matches [, int $flags.]]]입니다.
preg_match
함수 정규식 일치를 수행하는 데 사용됩니다.
Syntax
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
정규식에 의해 지정된 패턴과 주제 간의 일치를 검색합니다.
매개변수 설명:
$pattern: 패턴입니다.
$subject: 입력 문자열
$matches: 매개변수 일치가 제공되면 $matches[0]가 전체 패턴과 일치하는 텍스트로 채워집니다. ]에는 첫 번째로 캡처된 하위 그룹과 일치하는 텍스트가 포함됩니다.
$flags: 플래그는 다음 플래그 값으로 설정할 수 있습니다.
PREG_OFFSET_CAPTURE: 이 플래그가 전달되면 각각에 대해 일치 항목이 발생합니다. (대상 문자열 기준) 문자열 오프셋과 함께 반환됩니다. 참고: 각 요소가 0번째 문자열과 일치하도록 match 매개변수에 채워진 배열을 변경합니다. 첫 번째 요소는 대상에서 일치하는 문자열의 오프셋입니다. string subject.
offset: 일반적으로 검색은 대상 문자열의 시작 부분에서 시작됩니다. 선택적 매개변수 offset은 대상 문자열의 시작 위치를 지정하는 데 사용됩니다(단위는 ).
반환 값
패턴에 대한 일치 수를 반환합니다. preg_match()는 첫 번째 일치 이후 검색을 중지하기 때문입니다. , 오류가 발생하면 preg_match()는 FALSE를 반환합니다.
1 검색 텍스트 문자열 "php":
<?php //模式分隔符后的"i"标记这是一个大小写不敏感的搜索 if (preg_match("/php/i", "PHP is the web scripting language of choice.")) { echo "查找到匹配的字符串 php。"; } else { echo "未发现匹配的字符串 php。"; } ?>실행 결과는 다음과 같습니다.
查找到匹配的字符串 php。2. "단어"라는 단어를 검색하세요
<?php /* 模式中的\b标记一个单词边界,所以只有独立的单词"web"会被匹配,而不会匹配 * 单词的部分内容比如"webbing" 或 "cobweb" */ if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) { echo "查找到匹配的字符串。\n"; } else { echo "未发现匹配的字符串。\n"; } if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) { echo "查找到匹配的字符串。\n"; } else { echo "未发现匹配的字符串。\n"; } ?>실행 결과는 다음과 같습니다.
查找到匹配的字符串。 未发现匹配的字符串。3. URL에서 도메인 이름을 가져옵니다
<?php // 从URL中获取主机名称 preg_match('@^(?:http://)?([^/]+)@i', "http://www.runoob.com/index.html", $matches); $host = $matches[1]; // 获取主机名称的后面两部分 preg_match('/[^.]+\.[^.]+$/', $host, $matches); echo "domain name is: {$matches[0]}\n"; ?>실행 결과는 다음과 같습니다.
domain name is: runoob.com4. 명명된 하위 그룹 사용
<?php $str = 'foobar: 2008'; preg_match('/(?P<name>\w+): (?P<digit>\d+)/', $str, $matches); /* 下面例子在php 5.2.2(pcre 7.0)或更新版本下工作, 然而, 为了后向兼容, 上面的方式是推荐写法. */ // preg_match('/(?<name>\w+): (?<digit>\d+)/', $str, $matches); print_r($matches); ?>실행 결과는 다음과 같습니다.
Array ( [0] => foobar: 2008 [name] => foobar [1] => foobar [digit] => 2008 [2] => 2008 )
프로그래밍에 대해 더 자세히 알고 싶다면
php training칼럼
위 내용은 PHP preg match의 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!