2011-02-04 7 views
1

내 사용자 모듈은 사용자 입력 필터를 제공 드루팔 함수는 아래와 같다 :드루팔 입력 필터 만 변경 한 패턴

함수 my_custom_filter ($ 텍스트) {

return preg_replace('~<img(.*)src=\"/sites/default/files/(.*)\"~', '<img$1src="' . variable_get('static_url', "http://fileserver.com") ."/". file_directory_path() . "/" . '$2' . "\"", $text); 

}

당신이 볼 수 있듯이, 나는 CDN fileserver에 대한 모듈을 rte (나는 tinymce 사용)에 입력 된 이미지에 대한 변경을 사용합니다.

문제는이며, 필자는 주어진 텍스트의 마지막 패턴 만 변경합니다. 나는 왜 이런 일이 일어나는 지 이해할 수 없다. 어떤 생각?

답변

1

나는 문제가 생각하는 당신의 그 * 너무 욕심, 텍스트의 대부분을 선택하는 것입니다 -. 마지막으로 'SRC ='

시도는 PCRE 패턴 수정 U를 추가로 첫 번째 '< IMG'에서을 (대문자 U) 두 번째 패턴 ~. 그러면 패턴의. * 부분이 뒤죽박죽이되어 가능한 한 적은 수의 문자와 일치하게됩니다.