Цель C: удаление атрибутов HTML из строки - PullRequest
4 голосов
/ 03 июля 2011

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

<p class="someclass" style="margin-left:2cm;text-indent:-36.0pt">Blah.</p>

Чтобы настроить отображение для своего приложения, мне нужно удалить этот атрибут стиля.Есть ли быстрый способ обработки документа для этого?Это должно работать в iOS.

Спасибо!

Ответы [ 3 ]

1 голос
/ 13 июля 2011

В конечном итоге я выбрал комбинацию ElementParser и регулярных выражений (используя RegExKitLite ), убрал ненужные теги и заменил их на те, которые я сделал, как требуется. Учитывая, что мой HTML исходит из надежного источника, это должно быть хорошо.

Это далеко от идеала, но работает. : -)

1 голос
/ 03 июля 2011
0 голосов
/ 03 июля 2011

Ну, наверное, самое простое (но также довольно дорогое (интенсивное использование процессора)) использование NSAttributedString + HMTL , чтобы превратить его в NSAttributedString.Тогда вы можете получить NSString из этого.

Примерно так.

  NSAttributedString *attrstring = [NSAttributedString attributedStringWithHTML:[htmlString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES] options:nil];

  //Access the string itself like this.
  [attrstring string];

[ Предупреждение : хотя это самый простой способ (для вас), этоможет быть не лучшим способом, так как это довольно дорого и блокирует ваш пользовательский интерфейс, если это сделано в основном потоке (по понятным причинам)]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...