Вывожу данные в поля таблицы
Тип поля --- Long text
При следущим выводе:
$row[] = l($node->field_tender_location['und'][0]['value'], 'node/' . $node->nid);
выводится текст с тегами, тоесть не преобразуется html в нормальный текст.
Как вывести текст без тегов?
Спасибо
Комментарии
Если вы хотите удалить из текста все теги, чтобы получился обычный текст, то очищайте с помощью strip_tags
<?php
$row[] = l(strip_tags($node->field_tender_location['und'][0]['value']), 'node/' . $node->nid);
?>
А если надо, чтобы тэги сохранились внутри ссылки, то передавайте в функцию l() третьим параметром дополнительные опции array('html' => TRUE)
<?php
$row[] = l($node->field_tender_location['und'][0]['value'], 'node/' . $node->nid, array('html' => TRUE));
?>
Уважаемый charOFF, очень благодарен Вам за помощь. При помощи данной функции теги и вправду пропали. Но остался один нюанс: так как язык на котором выставляется текст содержит диакретические знаки, в тексте остались знаки. На пример: буква Ț прописывается как набор знаков типа end n b s p . Можно ли как-то решить и этот вопрос? Буду очень благодарен. Спасибо
Да, точно
strip_tags
же не заменяет сущности html типа
, только удаляет теги. Можно еще к strip_tags добавить html_entity_decode, но это пожалуй будет лишняя операция, лучше просто объединить оба вышеуказанных способа в один.<?php
$row[] = l(strip_tags($node->field_tender_location['und'][0]['value']), 'node/' . $node->nid, array('html' => TRUE));
?>
тогда тэги уберутся, а оставшийся текст уже не будет прогоняться через htmlspecialchars внутри функции l()
Уважаемый charOFF, очень благодарен Вам за помощь, всё получилось. Спасибо большое