
Validar cantidad de palabras en textarea con ckeditor y zend php
Publicado por Oscar (1 intervención) el 22/10/2015 01:38:41
Mi problema es el siguiente:7
Tengo un textarea y utilizo a CKEDITOR para la entrada del texto y darle formato.
El contendido del texto lo tengo que validar, ya que hay un mímino y máximo de palabras como restricción, asi que creé un validador:
Sin embargo, no me funciona el validador, si elimina las etiquetas, pero quedan tildes como aacute, nbsp,
etc..., y además str_word_count las cuenta como palabras, lo que hace que falle la validación.
Ya intenté utilizar htmlentities, utf_8, str_replace y nada funciona...
Tal vez me puedan dar una idea de como validar dicho campo?
Tengo un textarea y utilizo a CKEDITOR para la entrada del texto y darle formato.
El contendido del texto lo tengo que validar, ya que hay un mímino y máximo de palabras como restricción, asi que creé un validador:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
class App_Validate_MinCaracteresClaseIntroduccion extends Zend_Validate_Abstract {
const PROG_EXIS = 'minCaracteresClaseIntroduccion';
protected $_messageTemplates = array(self::PROG_EXIS => '150 palabras como mínimo y 250 como máximo');
public function isValid($value, $context = null) {
$this->_setValue($value);
//elimino etiquetas htmls
$filter = new Zend_Filter_StripTags();
$texto_timpio = $filter->filter($value);
//cuento las palabras con str_word_count
$palabras = str_word_count($texto_timpio, 0);
//valido que este dentro del rango permitido
if ($palabras >= 150 && $palabras <= 250) {
return true;
} else {
$this->_error(self::PROG_EXIS);
return false;
}
}
}
?>
Sin embargo, no me funciona el validador, si elimina las etiquetas, pero quedan tildes como aacute, nbsp,
etc..., y además str_word_count las cuenta como palabras, lo que hace que falle la validación.
Ya intenté utilizar htmlentities, utf_8, str_replace y nada funciona...
Tal vez me puedan dar una idea de como validar dicho campo?
Valora esta pregunta


0