Как использовать повторно нравится в javascript для'> <' или для '/div' глобальным способом с / g

cadena = cadena.replace('/div>', "");

Использовав этот код, меня заменяет только одна. Захотев сделать это глобальным способом он дезактивируется

cadena = cadena.replace(//div>/g, "");

cadena = cadena.replace('><', ""); он это не делает в цепи, которая у меня есть, что его один string текстового файла, который я прочитал одного html

Первый уже вышел у меня с этим кодом цепь = cadena.replace (new RegExp ("", 'g'), "");

но второй это не делает и я хочу изменить"> <" это уже я это попробовал со всеми и ни один это не делает, потому что он будет??????

не у него нет места в мишени я читаю таблицу, в которую верят с html и из-за вопросов клиента я должен делать это обязательно в каждый значь, что это место в мишени, я думал меняя каждый> на мишень <который так хочет клиент, который появляется

3
задан 31.10.2016, 16:30
4 ответа

Чтобы заменять все происшествия >< или /div>, единственный характер, который нужен убегать в этом случае, - брусок /, так как это delimitador, который используется, чтобы инициализировать и заканчивать регулярное выражение. Регулярное выражение осталось бы:

cadena = cadena.replace(/\/div>|></g, "");

Или, если также хотят, чтобы он проигнорировал прописные буквы и строчные буквы:

cadena = cadena.replace(/\/div>|></gi, "");


Это метасимволы в regex, что ты будешь должен убегать с бруском (\) если ты хотел использовать их внутри главного файла как буквальные:

/  .  ?  *  +  ^  $  [  \  (  )  {  |


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


Например, если ты хотел удалить все tags и оставить себе текст:

var textoHTML = "<div id='un-div'>Texto <b>dentro</b> del div</div>";

//Generamos un documento
var html = document.implementation.createHTMLDocument();
var doc  = html.documentElement;

//Cargamos nuestro string
doc.innerHTML = textoHTML;

//Obtenemos el contenido sin tags
var textoSinTags = doc.innerText;
console.log(textoSinTags);


Или только получать текст первого <div>:

var textoHTML = "Antes.. <div id='un-div'>Texto<!--comentario--> del div</div>Bla";

var html = document.implementation.createHTMLDocument(),
    doc  = html.documentElement;
doc.innerHTML = textoHTML;

//Obtenemos el contenido del primer div sin tags
var primerDiv = doc.getElementsByTagName('div')[0];
console.log(primerDiv.innerText);


Для большей информации о методах, что podés использовать и совместимость: https://developer.mozilla.org/en-US/docs/Web/API/Document

3
ответ дан 24.11.2019, 12:52

Есть несколько способов делать replaceAll в javascript:

Regex:

, Где характер | определяет выборы:

var texto = "<div>Hola/div> mu/div>><><ndo</div>//div>div>"
console.log(
  texto.replace(new RegExp("/div>|><", 'g'), "")
)

Split/Join:

, Где ты уезжаешь и соединяешь из-за различных выборов, меньше performante и темнее понимания. Но это известная техника.

var texto = "<div>Hola/div> mu/div>><><ndo</div>//div>div>"
console.log(
  texto.split("/div>").join("").split("><").join("")
)

Какие-то скажут тебе, что это не хорошая практика увеличивать прототип объекта, но это очень уместно.

String.prototype.replaceAll = function(buscar, remplazar) {
  return this.replace(new RegExp(buscar, 'g'), remplazar);
}

var texto = "<div>Hola/div> mu/div>><><ndo</div>//div>div>"

console.log(
  texto.replaceAll("/div>|><","")
)
3
ответ дан 24.11.2019, 12:52
  • 1
    Чтобы перемещать string строителя Рехексп как буквальный текст, проистекать и # 237; an убегать специальные символы: buscar.replace(/[.?*+^$[\\(){|]/g, "\\[110]amp;") – Mariano 29.10.2016, 06:39
  • 2
    " Какие-то скажут тебе, что это не хорошая практика увеличивать прототип одного objeto" Sip, если все делали их любым podr и # 237; когда ты заканчиваешь тем, что ломаешь c и # 243; я говорю. Aqu и # 237; есть art и # 237; зад по этому поводу perfectionkills.com/whats-wrong-with-extending-the-dom :) – devconcept 31.10.2016, 16:49

Если ты стараешься исключать весь Html div, ты можешь использовать jquery

$('<div>Mi contenido</div>').text() 

или

$(cadena).text()
2
ответ дан 24.11.2019, 12:52

ответа на

cadena = cadena.replace('/div>', "");

было

cadena = cadena.replace(new RegExp("</div>", 'g'), "");

и ответ на

cadena = cadena.replace('><', "");

состоял в том, чтобы брать больше символов

cadena = cadena.replace(new RegExp("<td></td>", 'g'), "<td>white</td>");

благодаря всем из-за Вашей помощи

0
ответ дан 24.11.2019, 12:52

Теги

Похожие вопросы