| Autor | Zpráva | ||
|---|---|---|---|
| PavV Profil |
#1 · Zasláno: 5. 3. 2022, 10:37:49
Zdravím a prosím o radu,
v html mám např. <h1 id='ruzovyslon' class='phr'>Růžový slon v domě a jiné <mark data-id="2">log</mark> ičnostil<span class="subtitle"><br>aneb<br>Úvod do tajů výrokové <mark data-id="3">log</mark> iky se zvláštním přihlédnutím k <mark data-id="4">log</mark> ickým hádankám a rébusům</span></h1> a chci odstranit všechny tagy mark v js mám var text = $('#text-frame').contents().find('[data-id=0]').text();
var regex = new RegExp( /<mark data-id="\d*">log<\/mark>/, 'ig');
$('#text-frame').contents().find('.phr').each(function() {
$(this).html( $(this).html().replace( regex, text));
})log dám proměnou text nic se neděje.
Potřebuji aby zůstal pouze označení text s respektováním velikých přímen a unikodu (vše mám v UTF-8) Dík za radu |
||
| tttttttttttttt Profil * |
#2 · Zasláno: 5. 3. 2022, 13:42:06
Regulární výrazy na to nejsou dobré. Zřejmě už to máš i naparsované jako HTML, tak je lepší modifikovat DOM než to převádět na text a zpět.
var div = document.createElement('div')
div.innerHTML = " <h1 id='ruzovyslon' class='phr'>Růžový slon v domě a jiné
<mark data-id=\"2\">log</mark>
ičnostil<span class=\"subtitle\"><br>aneb<br>Úvod do tajů výrokové
<mark data-id=\"3\">log</mark>
iky se zvláštním přihlédnutím k <mark data-id=\"4\">log</mark>
ickým hádankám a rébusům</span></h1>
"
Array.from(div.getElementsByTagName("mark")).forEach((elem) =>
elem.replaceWith(elem.innerHTML))
div.innerHTML
// " <h1 id=\"ruzovyslon\" class=\"phr\">Růžový slon v domě a jiné
// log
// ičnostil<span class=\"subtitle\"><br>aneb<br>Úvod do tajů výrokové
// log
// iky se zvláštním přihlédnutím k log
// ickým hádankám a rébusům</span></h1>
//
// " |
||
|
Časová prodleva: 4 roky
|
|||
0