매뉴얼

Rhymix\Framework\Filters\MediaFilter

HTMLFilter에서 허용되는 <iframe> 외부 미디어의 URL 화이트리스트를 관리하는 클래스입니다.

현재 지원하는 메소드 #

addPrefix() #

public static function addPrefix(
    string $prefix,
    bool $permanently = false
): void

특정한 URL 접두사를 동적으로 화이트리스트에 추가합니다. 시스템 설정을 영구적으로 변경하지 않고 임시로 특정 도메인을 허용할 수 있습니다.

URL 접두사 추가 후 시스템 설정을 영구적으로 변경하려면 $permanently 매개변수를 true로 지정합니다.

URL 접두사는 http://, https:// 등을 포함하지 않아야 하고, 허용할 URL이 여러 가지라면 그 중 공통되는 부분까지만 지정해야 합니다. 예를 들어 YouTube 동영상 삽입 코드의 공통되는 접두사 중 하나는 www.youtube.com/embed/입니다.

formatPrefix() #

public static function formatPrefix(string $prefix): string

일반적인 URL을 위에서 설명한 접두사 형식으로 변환합니다. http://, https:// 등을 제거하는 기본적인 작업만 수행하므로, 불필요한 내용이 포함되었다면 직접 수정해야 합니다.

getWhitelist() #

public static function getWhitelist(): array

현재 적용된 화이트리스트 배열을 반환합니다.

getWhitelistRegex() #

public static function getWhitelistRegex(): string

현재 적용된 화이트리스트를 한 번에 매칭할 수 있는 정규표현식(regular expression)을 반환합니다. 이 정규표현식을 preg_match()와 같은 함수에 사용할 수 있습니다.

matchWhitelist() #

public static function matchWhitelist(string $url): bool

주어진 URL이 현재 화이트리스트의 적용을 받는지 확인합니다.

removeEmbeddedMedia() #

public static function removeEmbeddedMedia(
    string $input,
    string $replacement = ''
): string

주어진 HTML 문자열에서 모든 <object><embed> 태그를 $replacement로 치환합니다. XE 1.x에서 <object> 태그와 비슷한 역할을 하던 multimedia_link 에디터 컴포넌트도 제거합니다. URL 접두사에 따라 허용 여부를 판단하는 기능은 수행하지 않고, 일괄 치환만 지원합니다.

이러한 태그를 제거하는 기능이 존재하는 이유는 <iframe><object>를 별도로 허용하던 XE 1.x와 달리, 라이믹스는 현대의 추세에 맞추어 모든 외부 미디어를 <iframe>으로 삽입한다고 간주하기 때문입니다.

레거시 메소드 #

아래는 <iframe><object>를 각각 필터링하던 과거의 방식에서 사용하던 메소드들입니다. 현재 라이믹스에서는 <iframe>을 기준으로 작성된 하나의 화이트리스트를 모든 외부 미디어에 동일하게 적용하므로, 태그에 따라 구분하는 아래의 메소드들은 하위 호환을 위한 alias로만 제공하고 있습니다.

addIframePrefix() #

public static function addIframePrefix(
    string $prefix,
    bool $permanently = false
): void

이 메소드는 addPrefix()의 alias입니다.

addObjectPrefix() #

public static function addObjectPrefix(): void

이 메소드는 동작하지 않습니다. (<object>를 위한 화이트리스트가 따로 존재하지 않으므로, 추가할 수 없습니다.)

getIframeWhitelist() #

public static function getIframeWhitelist(): array

이 메소드는 getWhitelist()의 alias입니다.

getIframeWhitelistRegex() #

public static function getIframeWhitelistRegex(): string

이 메소드는 getWhitelistRegex()의 alias입니다.

matchIframeWhitelist() #

public static function matchIframeWhitelist(string $url): bool

이 메소드는 matchWhitelist()의 alias입니다.

getObjectWhitelist() #

public static function getObjectWhitelist(): array

이 메소드는 getWhitelist()의 alias입니다.

getObjectWhitelistRegex() #

public static function getObjectWhitelistRegex(): string

이 메소드는 getWhitelistRegex()의 alias입니다.

matchObjectWhitelist() #

public static function matchObjectWhitelist(string $url): bool

이 메소드는 matchWhitelist()의 alias입니다.

매뉴얼 홈

개요

확장 기능 제작

테마 제작

클래스 및 함수 명세

코어 개발 참여

기타 정보