Заменить определенные части строки - PullRequest
0 голосов
/ 27 февраля 2012

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

&nbsp<a&nbsphref="#"></a>

Тогда это должно быть преобразовано в:

&nbsp<a href="#"></a>

Есть ли способ проверить, имеет ли строка перед собой "

Ответы [ 2 ]

0 голосов
/ 27 февраля 2012

Сущность - &nbsp;, с точкой с запятой в конце. Тот факт, что браузер не ищет точку с запятой, не означает, что она необязательна. Это ТРЕБУЕТСЯ, в противном случае сущность является некорректной, и более строгий браузер может отклонить ее.

Кроме того, вашу проблему невероятно просто решить: замените /<a&nbsp/g на "<a ".

0 голосов
/ 27 февраля 2012

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

В любом случае, это поможет (и в этом примере я включаю точки с запятой):

var string = "&nbsp;<a&nbsp;href='#'></a>";
string.replace("<a&nbsp;","<a ");

Это ищет фразу <a&nbsp; в строке и заменяет ее на <a.

...