javascript: remove html tags
Ik zou uit een tekstbox tekst willen selecteren, de geselecteerde tekst willen opschonen van alle HTML tags, en deze opnieuw in de tekstbox steken.
Ik gebruik momenteel onderstaande code.. De code om de geselecteerde tekst
te strippen werkt goed, maar het replacen van de "fullText" werkt niet zoals het moet.
Weet iemand mss een betere manier of een manier waarop het wel zeker werkt?
var fullText = this.designEditor.document.body.innerHTML;
var selection = this.designEditor.document.selection.createRange();
var htmlText = selection.htmlText;
htmlText = htmlText.replace(/&(lt|gt);/g, function (strMatch, p1){
return (p1 == "lt")? "<" : ">";
});
var strippedText = htmlText.replace(/<\/?[^>]+(>|$)/g, "");
alert("htmltext: " + selection.htmlText);
alert("stripped: " + strippedText);
//alert("fullText: " + fullText);
//selection.pasteHTML(strippedText);
fullText = fullText.replace(htmlText, strippedText);
this.designEditor.document.body.innerHTML = fullText;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script>
function removeHTML(txt) {
txt = txt.replace(/<br>/gi,"\n");
txt = txt.replace(/<[^>]+>/g,"");
return txt;
}
function insertQuote(msg) {
var txt;
var man;
txt = document.getElementById('msg'+msg).innerHTML;
txt = removeHTML(txt);
man = document.getElementById('man'+msg).innerHTML;
man = removeHTML(man);
dat = document.getElementById('dat'+msg).innerHTML;
dat = removeHTML(dat);
txt = "[quote="+man+" schreef op "+dat+"]"+txt+"[/quote]";
document.getElementById('bericht').value += txt;
document.location.href='#dram';
}
</script>
function removeHTML(txt) {
txt = txt.replace(/<br>/gi,"\n");
txt = txt.replace(/<[^>]+>/g,"");
return txt;
}
function insertQuote(msg) {
var txt;
var man;
txt = document.getElementById('msg'+msg).innerHTML;
txt = removeHTML(txt);
man = document.getElementById('man'+msg).innerHTML;
man = removeHTML(man);
dat = document.getElementById('dat'+msg).innerHTML;
dat = removeHTML(dat);
txt = "[quote="+man+" schreef op "+dat+"]"+txt+"[/quote]";
document.getElementById('bericht').value += txt;
document.location.href='#dram';
}
</script>
Kan je niet this.designEditor.document.body.innerText daar ook voor gebruiken?