php
[php] preg_replace 사용방법
xemaker
2018. 6. 14. 17:43
주로 preg_match_all 만 사용하다가 preg_replace를 사용해야 되는 경우가 생겼다.
문자열에서 정규식으로 문자열을 추출해서 지워야 하는 일이 생겼다.
음..
처음 쓰는거라 다소 삽질을 했다.
preg_match_all을 쓸 경우에는 결과가 파라미터로 선언한 배열로 들어가는데 preg_replace는 값, 즉 결과를 리턴한다.
형태는
mixed preg_replace(mixed $pattern, mixed $replacement, mixed $subject [, int $limit [, int &$count ]] )
정규 표현식 검색과 치환을 수행
subject를 검색하여 매치된 pattern을 replacement로 치환합니다.
매치가 발견되면 새 subject를 반환하고, 그렇지 않으면 변경되지 않은 subject를 반환합니다. 오류가 발생하면 NULL을 반환합니다.
즉,
$txt = preg_replace('/<p id="more718_0" class="moreless_fold">(.*)<\/p>/U',"",$txt);
저렇게 새 subject 즉 txt를 반환하니 $txt로 받았다.
그래서 $txt를 찍어보면 저 정규식에 해당되는 부분이 전부 삭제된것을 볼 수 있었다
문자열에서 정규식으로 문자열을 추출해서 지워야 하는 일이 생겼다.
음..
처음 쓰는거라 다소 삽질을 했다.
preg_match_all을 쓸 경우에는 결과가 파라미터로 선언한 배열로 들어가는데 preg_replace는 값, 즉 결과를 리턴한다.
형태는
mixed preg_replace(mixed $pattern, mixed $replacement, mixed $subject [, int $limit [, int &$count ]] )
정규 표현식 검색과 치환을 수행
subject를 검색하여 매치된 pattern을 replacement로 치환합니다.
매치가 발견되면 새 subject를 반환하고, 그렇지 않으면 변경되지 않은 subject를 반환합니다. 오류가 발생하면 NULL을 반환합니다.
즉,
$txt = preg_replace('/<p id="more718_0" class="moreless_fold">(.*)<\/p>/U',"",$txt);
저렇게 새 subject 즉 txt를 반환하니 $txt로 받았다.
그래서 $txt를 찍어보면 저 정규식에 해당되는 부분이 전부 삭제된것을 볼 수 있었다