2014-12-24 3 views
0

В моем приложении для новостей я получаю данные от JSON, которые мне нужно отображать в TextView. Но содержимое данных, которое приходит, смешивается с тегами html. Я попытался удалить теги html из строки, но получил некоторые проблемы.удалить html-теги из строки, но восстановить n

Это строка у меня есть:

String testString = "<a href=\"#"><img src=\"xyz.jpg" width=\"196\" height=\"300\" /></a>Residents of Chisapani bazaar in the south of Khotang district have been living in darkness for the past three years.\r\n\r\nThe power house of Dobhane river Hydropower Project was damaged in a landslide three years ago.\r\n\r\n Source:ABCD"; 

Мне нужно, чтобы показать эту строку в TextView за исключением HTML-тегов. Так я и сделал.

textbox = (TextView) findViewById(R.id.textview1); 
textbox.setText(Html.fromHtml(testString).toString()); 

На этом, даже \ п (перевод строки) часть была опущена, который перевернул весь текст в единый блок удаления абзацев. Но это не рекомендуется. Мне нужен текст, который представляет собой новостной контент, который хорошо переносится.

Может ли быть какой-либо способ удалить только теги, такие как <a> или <img>, но восстановить \ n.

+0

Вы пытались преобразовать вхождения '\ r \ n' в'
'? [первый результат SO] (http://stackoverflow.com/questions/3337948/html-fromhtmlstring-linebreak-problem), [второй результат SO] (http://stackoverflow.com/questions/11625330/html-fromhtml-line -breaks-исчезает) для «Html.fromHtml newline» – chrki

+0

Возможный дубликат [Удаление HTML-тегов в Java] (http://stackoverflow.com/questions/832620/stripping-html-tags-in-java) – petey

ответ

3

Попробуйте

  tv.setText(Html.fromHtml(testString.replace("\n", "<br/>"))); 

Это создаст новую строку при каждом "\ п". Но это может вызвать проблемы, когда ваши данные содержат \ n любой способ ...

Смежные вопросы