PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
php에서 정규식을 활용하여 문자열안에 있는 태그 제거 및 추출 방법에 대해서 알아보겠습니다.
정규식을 잘 활용하면 소스가 간결해지며 그만큼 좋은 효과를 가져올수 있다고 하는데요 이걸 또 평소에 쓰는 버릇을 해야하는데
자주 쓰이진 않다보니 금방 까먹게 되네요.
TEXTAREA 제거
$content = preg_replace("!<TEXTAREA(.*?)>!is","[TEXTAREA]",$content);
$content = preg_replace("!</TEXTAREA(.*?)>!is","[/TEXTAREA]",$content);
script 제거
$str=preg_replace("!<script(.*?)<\/script>!is","",$str);
iframe 제거
$str=preg_replace("!<iframe(.*?)<\/iframe>!is","",$str);
meta 제거
$str=preg_replace("!<meta(.*?)>!is","",$str);
style 태그 제거
$str=preg_replace("!<style(.*?)<\/style>!is","",$str);
를 공백으로 변환
$str=str_replace(" "," ",$str);
연속된 공백 1개로
$str=preg_replace("/\s{2,}/"," ",$str);
태그안에 style= 속성 제거
$str=preg_replace("/ zzstyle=([^\"\']+) /"," ",$str); // style=border:0... 따옴표가 없을때
$str=preg_replace("/ style=(\"|\')?([^\"\']+)(\"|\')?/","",$str); // style="border:0..." 따옴표 있을때
태그안의 width=, height= 속성 제거
$str=preg_replace("/ width=(\"|\')?\d+(\"|\')?/","",$str);
$str=preg_replace("/ height=(\"|\')?\d+(\"|\')?/","",$str);
img 태그 추출 src 추출
preg_match("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i",$str,$RESULT);
preg_match_all("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i",$str,$RESULT);
호스트 추출
<?
preg_match("/^(http:\/\/)?([^\/]+)/i","http://www.naver.com/index.php",$matches);
$host = $matches[2];
echo$matches[0]."<br>";
echo$matches[1]."<br>";
echo$matches[2]."<br>";
?>
[출처] PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법|작성자 콩이
댓글 1개
게시판 목록
개발강좌
1. 유창화님의 썸네일, 정규표현식, 이미지관련 강좌
2. Sphinx 검색엔진을 이용한 도로명 주소 검색 시스템 구축
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 107 | 그누보드5 |
|
2개월 전 | 128 | |
| 106 | 그누보드5 |
선택과집중
|
3개월 전 | 345 | |
| 105 | 그누보드5 |
선택과집중
|
4개월 전 | 327 | |
| 104 | 그누보드5 |
선택과집중
|
5개월 전 | 287 | |
| 103 | 그누보드5 | 1년 전 | 1255 | ||
| 102 | 그누보드5 | 2년 전 | 922 | ||
| 101 | 그누보드5 | 2년 전 | 1012 | ||
| 100 | 그누보드5 |
|
2년 전 | 2281 | |
| 99 | 그누보드5 |
|
2년 전 | 848 | |
| 98 | 정규표현식 |
|
2년 전 | 1098 | |
| 97 | 그누보드5 | 3년 전 | 2311 | ||
| 96 | 그누보드5 | 3년 전 | 2704 | ||
| 95 | 그누보드5 |
|
3년 전 | 3159 | |
| 94 | 그누보드5 |
|
3년 전 | 3580 | |
| 93 | 그누보드5 | 3년 전 | 2857 | ||
| 92 | 그누보드5 | 4년 전 | 5631 | ||
| 91 | 그누보드5 | 4년 전 | 3352 | ||
| 90 | 그누보드5 | 7년 전 | 8255 | ||
| 89 | 정규표현식 | 7년 전 | 8290 | ||
| 88 | 그누보드5 | 7년 전 | 4581 | ||
| 87 | 정규표현식 | 8년 전 | 7393 | ||
| 86 | 그누보드5 | 8년 전 | 5451 | ||
| 85 | 정규표현식 | 8년 전 | 4101 | ||
| 84 | 정규표현식 |
프로그래머7
|
8년 전 | 3700 | |
| 83 | 정규표현식 |
프로그래머7
|
8년 전 | 3353 | |
| 82 | 정규표현식 |
프로그래머7
|
8년 전 | 3583 | |
| 81 | 이미지관련 | 8년 전 | 8439 | ||
| 80 | 이미지관련 | 8년 전 | 6641 | ||
| 79 | 정규표현식 | 8년 전 | 46433 | ||
| 78 | 정규표현식 | 8년 전 | 5461 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기