[РЕШЕНО] Лишние символы при подсчете содержимого

30 июля 2012 в 16:18
Аватар пользователя Bios Bios 0 12

Создал поле... через вьювс вывожу группу нод и для каждой ноды нужно посчитать количество символов...

делал по этому способу

но вот косяк когда начинаю считать количество символов оказывается что всегда символов на 11 больше чем есть на самом деле в этом текстовом поле (несколько строк)

обрабатываю в шаблоне вьювс views-view-fields--blog--page.tpl.php
вот содержимое файла

<?php foreach ($fields as $id => $field): ?>
<?php
if($id=='title'){$zagolovok=$field->content;}
if($id=='field_answer') {$answer=$field->content;}
if($id=='created'){$time=$field->content;}
if($id=='view_node'){$link=$field->content;}
?>
<?php endforeach; ?>

<?php
echo $answer.' '.drupal_strlen($answer);
?>

подскажите в чем косяк и откуда мистика...

Комментарии

"graker" wrote:

Спасибо нашлось решение благодаря вам. Оказалось CKEditor все за каким то оборачивает в <div> </div> в них и есть эти самые 11 символов...

Не подскажите можно в CKEditor убрать эту опцию?

31 июля 2012 в 10:03

Bios wrote:
Спасибо нашлось решение благодаря вам.
Я так думаю, Чувакофф на то же самое намекал Smile

Quote:
Не подскажите можно в CKEditor убрать эту опцию?
Да он все равно будет теги вставлять - иначе зачем он вообще нужен? Надо либо отключить CKE для этого поля (напр. выбрать формат plain), либо при подсчете символов вырезать из текста поля все теги регулярками.

31 июля 2012 в 11:00

Bios wrote:
Не подскажите можно в CKEditor убрать эту опцию?

Правильного ответа я не знаю, но я знаю рабочие варианты. Их и скажу.

Не знаю как на счёт 7-ки, сохранилось ли там так же, как в 6-ке. Формат ввод задаётся ведь. В нём можно указать разрешённые теги - исключите от туда div, либо при выводе просто запускайте стандартную, простейшую php-фукнцию - strip_tags.
И trim чтобы убрать по краям пробелы, табуляции и в общем-то и получится только сам текст, со всеми знаками препинания и т.п.

31 июля 2012 в 12:39

RxB wrote:
"graker" wrote:
либо при подсчете символов вырезать из текста поля все теги регулярками.

check_markup() жо!

Так check_markup фильтры прогоняет по тексту, а я про то, чтоб убрать теги и сосчитать значащие буковки.
Собстна, стрип_тегс есть - тогда разве что возникнут проблемы с подсчетом переводов строки.

31 июля 2012 в 11:26

"graker" wrote:
Я так думаю, Чувакофф на то же самое намекал :)

Ну да,были теже мысли))Но в сули некоторых обстоятельств не стал об этом сразу говорить)) Сомневался из-за кодировки..
"graker" wrote:
тогда разве что возникнут проблемы с подсчетом переводов строки.

Вряд ли у него там брки есть..

31 июля 2012 в 12:26

Chyvakoff wrote:
Ну да,были теже мысли))Но в сули некоторых обстоятельств не стал об этом сразу говорить)) Сомневался из-за кодировки..
А, ясно. drupal_strlen мультибайты умеет учитывать Smile

31 июля 2012 в 12:36

Замучаешься из висвигов html вычищать..они за каждый пук и чих втыкают тэги..собственно для этого их и придумали;)

31 июля 2012 в 14:08

Ммм, кстати, у ckeditora есть в настройках, "Очистка и вывод", там не слишком много, но прилично настроек. У меня вот в div не обрамляет, не знаю из-за какой именно настройки и где. (разумеется, при формате ввода без фильтрации, т.е. сам цкедитор не обрамляет)

31 июля 2012 в 15:25