일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Docker ubuntu
- react tailwindcss
- mysql 삭제
- react 기초
- 리액트 문법
- 안드로이드
- mysql 재설치 명령어
- Docker
- react
- Python
- 리액트 tailwindcss
- javascript
- react tailwind css
- mysql fix install
- PHP
- 리액트 tailwind css
- 리액트
- 도커
- 리눅스
- next.js css framework
- next.js tailwindcss
- mysql broken install
- mysql 재설치
- mysql error
- mysql purge
- mysql uninstall
- react typescript
- mysql
- next.js tailwind css
- Android
- Today
- Total
Developer_hong
PHP 정규식 본문
//preg_match_all : 정규표현식에 맞으면 배열로 추출
// 정규식
// (...) 그룹화 시작 끝
// [a-zA-Z0-9_-]허용하는 문자열 a부터 z까지, A부터 Z까지 0부터 9까지 그리고 언더스코어와 하이픈
// [a-zA-Z0-9_-]+ 허용하는 문자열 a부터 z까지, A부터 Z까지 0부터 9까지 그리고 언더스코어와 하이픈이 1개 이상 있어야함
// [a-zA-Z0-9_-]{3,8} 허용하는 문자열 a부터 z까지, A부터 Z까지 0부터 9까지 그리고 언더스코어와 하이픈이 3글자 이상, 8글자 이하
// + == {1} 해당 문자열 1번
// * == {0} 해당 문자열 0번
// ? 해당 문자 패턴이 0 또는 1번 등장 ex) /a?b/ = b, ab
// . 줄 바꿈 문자 (\n) 제외한 임의의 한 문자를 의미 ex) /.ap/ = aap, bap, @ap
// 패턴 변경자
// i - 대소문자 비교 없이 검사
// s - \n 개행문자도 포함하여 검사
// m - 정규식에서는 줄 바꿈은 무시되는데 , 줄바꿈을 적용하여 검사 (한 줄의 시작 ^ , 한 줄의 끝 $ 에서 유용)
// x - 공백 문자를 찾지 않고 무시
// 두 문자는 같은 주소인지 체크
$href = "https://m.naver.com/123";
$text = "hTtps://wWw.nAver.com/123";
$is_same = false;
echo "\nreplace text = ".$text;
echo "\nreplace href = ".$href;
/**--------------------------------------------------------------
| 작업 1.
| http:// , https:// , ftp:// 제거 ( 대소문자 비교 필요 )
| ^(https?)\:\/\/ 's'는 생략 가능 , ^ 줄의 시작 검사 , / 문자 Escape
--------------------------------------------------------------*/
$text = preg_replace('#^(https?|ftp)\:\/\/#','',strtolower($text)); // text 작업1 진행
$href = preg_replace('#^(https?|ftp)\:\/\/#','',strtolower($href)); // href 작업1 진행
echo "\n\n :::: 작업 1 ( http:// , https:// , ftp:// 제거 ) 실행 결과 ::::";
echo "\nreplace text = ".$text;
echo "\nreplace href = ".$href;
if(strcmp($href,$text)){ //strcmp 문자 비교하여 불일치 : 1, 일치 : 0 반환
/**--------------------------------------------------------------
| 작업 2.
| www. 또는 m. 제거
--------------------------------------------------------------*/
$text = preg_replace('#^(www.|m.)#','',strtolower($text)); // text 작업2 진행
$href = preg_replace('#^(www.|m.)#','',strtolower($href)); // href 작업2 진행
echo "\n\n :::: 작업 2 ( www. 또는 m. 제거 ) 실행 결과 ::::";
echo "\nreplace text = ".$text;
echo "\nreplace href = ".$href;
}
/**--------------------------------------------------------------
| 결과
--------------------------------------------------------------*/
if(strcmp($href,$text)){
$is_same=true;
}
echo "\n\n :::: 최종 결과 ::::";
echo "\nis_same = "; echo $is_same ? 'TRUE ( URL 다름 )' : 'FALSE ( URL 같음 )';
'프로그래밍 > PHP' 카테고리의 다른 글
Redirect 체크 (0) | 2021.05.12 |
---|---|
PHP Magic Constant (0) | 2021.05.12 |
PHP 해당 월 마지막일 구하기, 시간비교 (0) | 2021.05.11 |
PHP 시간 체크 (0) | 2021.05.11 |