PHP >= 7.0.0 : preg_replace /e modifier는 지원되지 않는다.
[함수] 상대경로를 특정URI 기준의 절대경로로 변환하기 에서 원래 소스를 확인 할 수 있다.
preg_replace to preg_replace_callback
function http_src_to_abs($content, $base_uri) { $pattern_a = array("@(\s*href|\s*src)(\s*=\s*'{1})([^']+)('{1})@i" , "@(\s*href|\s*src)(\s*=\s*\"{1})([^\"]+)(\"{1})@i" , "@(\s*href|\s*src)(\s*=\s*)([^\s>\"\']+)(\s|>)@i"); // $replace_a = array("'\\1\\2'.http_path_to_url('\\3', '$base_uri').'\\4'" // , "'\\1'.stripslashes('\\2').http_path_to_url('\\3', '$base_uri').stripslashes('\\4')" // , "'\\1\\2'.http_path_to_url('\\3', '$base_uri').'\\4'"); $content = preg_replace_callback($pattern_a[0], function($m) use($base_uri){ return $m[1].$m[2].http_path_to_url($m[3], $base_uri).$m[4]; }, $content); $content = preg_replace_callback($pattern_a[1], function($m) use($base_uri){ return $m[1].stripslashes($m[2]).http_path_to_url($m[3], $base_uri).stripslashes($m[4]); }, $content); $content = preg_replace_callback($pattern_a[2], function($m) use($base_uri){ return $m[1].$m[2].http_path_to_url($m[3], $base_uri).$m[4]; }, $content); return $content; }
반응형
'lang > php' 카테고리의 다른 글
PHP 이용 웹서버 디렉토리 서비스를 더 깔끔하고 편리하게 이용하기 (0) | 2018.07.18 |
---|---|
Composer require Could not find package (0) | 2018.07.13 |
PHP 로그, 에러 리포팅 제어 (0) | 2018.07.10 |
PHP Warning: preg_replace(): The /e modifier is no longer supported (0) | 2018.07.09 |
PHP tidy 예제 및 기능 (0) | 2018.07.07 |