Mam:

<span class="hello" id="something somemore"> blah blah blah </span>

Moja regex nie jest moją najsilniejszą zdolnością, by docenić, że ktoś może mi pomóc w JavaScript Regex.

Chciałbym usunąć wszystko / cokolwiek i włącznie z <span do >, a następnie w końcu po prostu usuń </span>.

Używam .replace(myregexhere, "");, aby zastąpić inne przedmioty, ale staram się wykonać powyższe.

Również jeśli są łatwiejsze lub lepsze alternatywy daj mi znać.

1
Anicho 7 sierpień 2012, 20:28

4 odpowiedzi

Najlepsza odpowiedź

Jeśli naprawdę chcesz użyć REGEX Wymień, spróbuj tego:

var newstring = oldstring.replace(/<span[^>]*>([^<]*)<\/span>/, "$1");

Należy pamiętać, że nie działa, jeśli żadne znaczniki HTML są pomiędzy <span> i </span>. Jeśli masz tam znaczniki HTML, użyj czegoś takiego jak Zamiast tego.

6
Community 23 maj 2017, 12:23

Chcesz coś w rodzaju:

~<span.+?>~

I

~</span>~
1
williamvicary 7 sierpień 2012, 16:30

Dlaczego nie używać replaceWith():

var something = $('#something').text();
$('#something').replaceWith(something);
1
Manse 7 sierpień 2012, 16:30

Użyj jQuery:

$('span').remove();

Lub dla każdego zakresu z klasą "Hello":

$('span .hello').remove();

Lub dla każdego elementu z identyfikacją "coś somemore",

$("#something somemore").remove();
-1
Phillip Schmidt 7 sierpień 2012, 16:32