Korean English Japanese

PHP환경에서 개행문자나 특정태그를 제거하는 방법

정규식을 활용하는 방법

정규식을 활용하여 웹사이트 내의 문자나 특정 태그를 제거, 혹은 수정하는 방법입니다.
이 방법을 통해 쉽게 해당 부분을 변경할 수 있습니다.

<?php 
//정규식을 통한 제거
$text = preg_replace('/\r\n|\r|\n/','', $text);
 
//문자열 함수사용으로 제거
$text = str_replace(array("\r\n", "\r", "\n"),'', $text);
$text = strtr($text, array("\r\n"=>'', "\r"=>'', "\n"=>''));
 
//html 태그 제거
$content = preg_replace("(\<(/?[^\>]+)\>)", "", $content);
 
// 를 공백으로 변환
$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("/]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i", $str, $result);
preg_match_all("/]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i", $str, $result);
 
//특수문자 제거
$string = preg_replace("/[ #\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/i", "", $string);
 
//공백제거
$string = preg_replace('/ /', '', $string);
$string = preg_replace("/\s+/", "", $string);
 
//반복 입력된 단어 제거
$string = preg_replace("/s(w+s)1/i", "$1", $string);
 
//반복 입력된 부호 제거
$string = preg_replace("/.+/i", ".", $string);
 
//영문자를 제외한 모든 문자 제거
$string = preg_replace("/[^A-Za-z]/", "", $string);
 
//영문자와 공백문자(Space)를 제외한 모든 문자를 제거
$string = preg_replace("/[^A-Za-z|\x20]/", "", $string);
 
//ASCII 범주 코드 영문+특수문자를 제외한 모든 문자를 제거
$string = preg_replace("/[^\x20-\x7e]/", "", $string);
 
//img 태그 추출
preg_match_all("/]*src=[\'\"]?([^>\'\"]+)[\'\"]?[^>]*>/", $img, $matchs);
print_r($matchs);