PHP | preg_replace() 정규식 활용

|

요약

preg_replace() 구문은 정규식을 활용하여
PHP 변수 값 안에 더이상 필요 없는 문자열을 지우는 내장함수입니다.

예제

게시글 작성 시 style 태그 주석처리

// 스타일 삭제 처리
$content = preg_replace('/<style\b[^>]*>([\s\S]*?)<\/style>/i', '<!--<style>$1</style>', $content);
$content = str_replace('<!--<!--<style', '<!--<style', $content);

$content 에 <style> 태그가 들어있는 경우 주석처리를 진행합니다.

  • 만약 style 태그 안에 주석이 들어간 경우에도 강제로 주석처리할 수 있도록 만들어져있습니다.
    이 경우는 일반적인 경우 게시물에 –> 이 보이는데, 이것을 처리하기 위해 닫는 스타일태그 ( </style> ) 를 없애고 –> 로 바로 닫습니다.
    일반적인 경우는 큰 문제없이 사용할 수 있습니다.
  • 위의 경우에 해당되면 다시 저장할 때마다 <!– 태그가 점점 쌓이게 됩니다.
    그것을 방지하기 위해 sty_replace 함수로 방지합니다.

스타일 태그 삭제

// 스타일 삭제 처리
$wr_content = preg_replace('/<style\b[^>]*>([\s\S]*?)<\/style>/i', '', $wr_content);

스타일 태그가 있는 경우 내용을 아예 삭제하는 방법입니다.
다른 태그를 기입하시면 해당 태그 내용도 전부 삭제가 가능합니다.

$bufferString = preg_replace('/\r\n|\r\n/', '', $buffer);
$bufferString = preg_replace("/<em class=\"num\">/", "", $bufferString);

$buffer = preg_replace('/\r\n|\r\n/', '', preg_replace("/<em class=\"num\">/", "", $buffer));

문자열에서 특정 패턴 제거하기

$string = "I have 5 apples and 3 oranges";
$pattern = '/\d+/';
$replacement = '';
$new_string = preg_replace($pattern, $replacement, $string);
echo $new_string;

// I have  apples and  oranges

문자열에서 URL 검색 및 링크 만들기

$string = "Visit my website at https://www.example.com";
$pattern = '/(https?:\/\/[\S]+)/i';
$replacement = '<a href="$1">$1</a>';
$new_string = preg_replace($pattern, $replacement, $string);
echo $new_string;

// Visit my website at <a href="https://www.example.com">https://www.example.com</a>

문자열에서 문자 변경하기

$string = "Hello World!";
$pattern = '/World/';
$replacement = 'PHP';
$new_string = preg_replace($pattern, $replacement, $string);
echo $new_string;

// Hello PHP!

그누보드 게시물 CSS 적용 해제

<?php 
$view['wr_content'] = preg_replace('/<style\b[^>]*>([\s\S]*?)<\/style>/i', '<!--<style>$1</style>-->', $view['wr_content']);  
?>

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

클릭하여 복사