2016-10-28 10 views
0

я следующий HTML строки, которая генерирующий gynamically из локальной БД:ИОС побег «<» из строки внутри HTML тега - Objective-C

<div><span>If x < 20 Then y > 20 </span><div> //NSString : dynamically generated 

Что должно быть сделано, чтобы избежать «<» и «>» символ из строки внутри HTML-теги, так что мы получим следующий вывод:

<div><span>If x &lt; 20 Then y &gt; 20 </span><div> 

Update

NSString *htmlString = @"<td style=\"vertical-align: top; text-align: left; width: 95%;\">\ 
    <span>$$If\\ \\ f(x) \\ \\ is \\ continuous \\ on \\ [0,8]\\ defined \\ as$$<br>\ 
    $$f(x) = x^2 +ax + 6 \\ \\ \\ \\ for \\ \\ 0 <x < 2$$<br>\ 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $$= 3x +2 \\ \\ \\ \\ \\ \\ for \\ 2<x<4$$<br>\ 
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $$= 2ax + 5b \\ \\ \\ \\ \\ \\ \\ for \\ 2<x<8$$<br>\ 
       Find <em>a</em>&nbsp;and <em>b</em></span>\ 
    </td>"; 

Вся эта строка генерируется динамически, и мне нужны любые «<» и «>», за исключением тех, у которых есть объекты HTML, которые должны быть экранированы. Это требование для математического выражения в UIWebView с использованием MathJax.

+0

попробуйте использовать HTML-парсер. – Mox

+0

PLZ взгляните на мое обновление. Является ли html-парсер хорошо воспроизводимым для динамической строки html? – iAkki

+0

Да, он будет работать для динамически генерируемого html слишком – Mox

ответ

0
- (NSString *) replaceHTMLEntitiesInString:(NSString *) htmlString { 
    htmlString = [htmlString stringByReplacingOccurrencesOfString:@"&nbsp;" withString:@" "]; 
    htmlString = [htmlString stringByReplacingOccurrencesOfString:@"&quot;" withString:@"\""]; 
    htmlString = [htmlString stringByReplacingOccurrencesOfString:@"&lt;" withString:@"<"]; 
    htmlString = [htmlString stringByReplacingOccurrencesOfString:@"&gt;" withString:@">"]; 
    return htmlString; 
} 

Позвоните в htmlString = [self replaceHTMLEntitiesInString:htmlString];

+0

Это также будет применяться к объектам html. Так он будет возвращать: ** < < ДИВ > > диапазона Если х < 20 Тогда у/SPAN > < ДИВ > ** – iAkki

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

  • Нет связанных вопросов^_^