테스트 사이트 - 개발 중인 베타 버전입니다

PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법

· 8년 전 · 10660 · 1
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);

 

&nbsp;를 공백으로 변환
$str=str_replace("&nbsp;"," ",$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>";
?>

 

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

감사합니다 : )

게시글 목록

번호 제목
535
534
533
522
521
520
517
516
511
508
507
500
493
490
486
463
461
444
435
334
304
290
244
233
218
217
194
185
181
156