PHP

문서편집기와 PHP에서 정규식 변환하기 (대괄호, 중괄호, 소괄호 포함된 문자열 없애기)

미스털이 사용자 2023. 8. 16. 11:55
반응형

 

다음과 같이 괄호를 포함한 문자열이 있다고 가정한다.

 

987[654]32[777]1

 

이 문자열을

 

987321

 

로 변환하는 방법을 알아보려고 한다.

 

1) PHP

 

preg_replace를 이용하는 방법이 좋다.

$test = "987[654]32[7!7!7]1";
echo "대괄호 없애기 전 문자열 : " . $test ."<BR>";
#preg_replace(\/[[^]]*]/\,\\, $test);
#$test = preg_replace('/\[[^\]]*\]/','', $test);
$test = preg_replace('/\[.*?\]/','',$test); 
echo "대괄호 없앤 후 문자열 : " . $test . "<BR><BR>";

$test = "987{654}32{7!7!7}1";
echo "중괄호 없애기 전 문자열 : " . $test ."<BR>";
$test = preg_replace('/\{.*?\}/','',$test); 
echo "중괄호 없앤 후 문자열 : " . $test . "<BR><BR>";

$test = "987(654)32(7!7!7)1";
echo "소괄호 없애기 전 문자열 : " . $test ."<BR>";
$test = preg_replace('/\(.*?\)/','',$test); 
echo "소괄호 없앤 후 문자열 : " . $test . "<BR><BR>";
 

대괄호 '/\[.*?\]/'

중괄호 '/\{.*?\}/'

소괄호 '/\(.*?\)/'

이렇게 하면 좋을 것 같다.

 

2) 문서편집기

다음과 같이 정규식을 이용해 찾을말, 바꿀말 옵션을 넣어 바꾸기를 할 경우가 생긴다.

에디트플러스 기준으로 정규식 옵션을 넣어주려면 다음과 같이 해야한다.

 

대표사진 삭제

사진 설명을 입력하세요.

대괄호의 경우엔 위와 같이 해줘야한다.

 

즉,

소괄호 \([^)]*\)

중괄호 \{[^)]*\}

대괄호 \[[^)]*\]

이렇게 해줘야 치환이 제대로 이뤄진다.

 

반응형