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

정규 표현식 채택완료

안숭 10년 전 조회 3,559
eregi_replace("\/[^/]*\.php$", "/", $_SERVER['PHP_SELF']); 를 preg_replace로 바꿀려고 하는데

preg_replace("\/[^/]*\.php$", "/", $_SERVER['PHP_SELF']);

함수이름만 바꾸니까 이런 오류가 나오더군요.

Warning: preg_replace() [function.preg-replace]: Unknown modifier ']' in/www/nhsale_kr/shop/payment/allthegate/order_step3.php on line 477

왜 이런 걸까요? 고수님들 답변좀 부탁드릴께욧.
댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
10년 전

</p><p>$tmp = preg_replace('/\/[^\/]*\.php$/', "/", $_SERVER['PHP_SELF']);</p><p>

 

preg_replace 함수의 정규표현식은 '/......../' 로 감싸있어야 됩니다. 

로그인 후 평가할 수 있습니다

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

i
10년 전
패턴의 구분자는 #...#, /..../  등 정규표현식 특수문자 및 키워드등과 겹치지 않는것으로 하시면 됩니다.
로그인 후 평가할 수 있습니다

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

10년 전

​preg_replace("\/[^/]*\.php$", "/", $_SERVER['PHP_SELF']);

 

=> preg_replace("#\/[^/]*\.php$#", "/", $_SERVER['PHP_SELF']); 으로 수정후 시도해 보세요. 

로그인 후 평가할 수 있습니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인