Um Text sicher zu Filtern kann man mit dem Zend Framwork 2 Validator und einem HTML-Filter wie HTML Purifier eine Validierung des Inhaltes durchführen:
use Zend\Form\Element;
use Zend\InputFilter\InputProviderInterface;
use Zend\Validator;
use Zend\I18n\Validator\Alpha;
use Foo\Filter\HtmlPurify;
class TextElement extends Element implements InputProviderInterface
{
protected $attributes = array(
'type' => 'text',
);
public function getInputSpecification()
{
return array(
'name' => $this->getName(),
'filters' => array(
array('name' => 'Foo\Filter\HtmlPurify'),
array('name' => 'Zend\Filter\StringTrim'),
array('name' => 'Zend\Filter\StripTags'),
array('name' => 'Zend\Filter\HtmlEntities'),
),
'attributes' => array(
'type' => 'textarea'
),
'validators' => array(
array(
'name' => 'NotEmpty',
'options' => array(
'messages' => array(
\Zend\Validator\NotEmpty::IS_EMPTY => 'Bitte tragen Sie etwas ein.'
),
),
),
array(
'name' => 'StringLength',
'options' => array(
'max' => 5000,
'messages' => array(
\Zend\Validator\StringLength::TOO_LONG => 'Bitte nicht zu viel Text.'
)
),
)
),
);
}
}
weitere Informationen zum benutzen des Filter finden Sie hier: Email Validierung mit ZF2.
