2009-08-26 11 views
1

Zend_Filter_Input을 일반 입력 필터로 사용할 수 있습니까? 모든 양식 필드 (태그 제외 태그 있지만 유효성 검사 없음) 필터링하려면 사용하고 싶습니다. 모든 예제는 $ validators 배열을 포함하고있는 것으로 보입니다. 그 전에 입력 할 필드의 이름을 미리 알고 있다고 가정합니다.Zend_filter_input 독립 실행 형 사용

프로젝트의 본질, 시간 계단 등으로 인해 Zend_Form을 사용하는 폼. 모든 양식 입력을 처리하는 일반 Form 클래스가 있으므로 필터링을 수행해야합니다.

감사합니다.

루크.

답변

2

$validators 인수에 대한 빈 배열을 전달하여 유효성 검사를 건너 뛰고 단순히 필터링을 사용할 수 있습니다.

Zend_Filter_Input 인스턴스에 전달할 필드 이름을 모른다는 말씀입니까? 와일드 카드 * -field를 사용하여 모든 입력 필드에 필터를 적용 할 수 있습니다. 이게 네가 원하는거야?

$input = new Zend_Filter_Input(array(
    '*' => 'StripTags' 
), array(), $data); 

Zend_Filter_StripTags 필터 $data 모든 값을 필터링한다.

편집 :

$escaped = $input->getEscaped(); // will be automatically run through an HTML-entities-filter 
// or 
$unescaped = $input->getUnescaped(); // the values as they come out of the filter-chain. 
+0

덕분 값을 검색, I 시도 : \t 공용 static 함수 zfFilterInput ($ 입력) { \t \t \t $ 필터 = 배열 ​​(' * '=> 배열 ('StringTrim ','HtmlEntities ','StripTags ')); \t \t \t $ input = new Zend_Filter_Input ($ filters, array(), $ input); \t \t return $ input; \t \t } 하지만 배열 할 수없는 인수 3라는 오류가 발생합니다. 데이터 배열을 반복해야하고 정리 된 데이터를 가져 오는 방법은 무엇입니까? – codecowboy

+0

$ input 변수를 두 번 사용하는 데 문제가 있습니다. 먼저 함수 인수를 $ input이라고하고 Zend_Filter_Input을 $ input에 할당하여 코드를 쓸모 없게 만듭니다. –

+0

먼저 모든 것을 HTML 엔티티로 인코딩 한 다음 스트립 태그를 수행합니까? HTML 엔티티 필터를 실행 한 후에 남아있는 태그가 없습니다. –

관련 문제