まず、私はjavascript noobであり、正規表現についてほとんど何も知りません。私は本質的にこれを変える何かを一緒にハックしようとしています:
<span class="fspoiler">spoils</span>
これに:
<spoiler>spoils</spoiler>
いくつかの調査から、正規replace()
表現と関数を使用することが道のりのように思われますが、どこから始めればよいのかわかりません。
まず、私はjavascript noobであり、正規表現についてほとんど何も知りません。私は本質的にこれを変える何かを一緒にハックしようとしています:
<span class="fspoiler">spoils</span>
これに:
<spoiler>spoils</spoiler>
いくつかの調査から、正規replace()
表現と関数を使用することが道のりのように思われますが、どこから始めればよいのかわかりません。
var str = '<span class="fspoiler">spoils</span>';
str.replace(/<span class="f(.+)">(.+)<\/span>/, '<$1>$2</$1>');
同じ回線でネタバレが複数回発生したときに、いくつかの問題が発生していました。私は正規表現の初心者であるため、どこから修正を始めればよいかわかりませんでした。結局、必要なことを実行するしばらくのブロックを書き出すだけでした。
var spoilerStart = '<span class="fspoiler">';
var spoilerEnd = '</span>';
while (body.indexOf(spoilerStart) != -1)
{
var startIndex = body.indexOf(spoilerStart);
var endIndex = body.indexOf(spoilerEnd, startIndex) + spoilerEnd.length;
var fullSpoiler = body.substring(startIndex, endIndex);
var textStartIndex = startIndex + spoilerStart.length;
var textEndIndex = endIndex - spoilerEnd.length;
var text = body.substring(textStartIndex, textEndIndex);
body = body.replace(fullSpoiler, '<spoiler>' + text + '</spoiler>');
}
jqueryreplceWith関数を使用して
$('span.fspoiler').replaceWith('<spoiler>spoils</spoiler>');
var className=document.getElementById("abc");
var tagName=className.replace("f","");
var content=document.getElementById("abc").innerHTML;
var newTag = "<"+tagName+">"+content+"<"+tagName"/>";
ここで、<span>
が与えられていると仮定しますid="abc"