これはスクリプトのjQueryバリアントです(機能しません):
<script language="javascript">
$("div.post-content").each(function(){
if($(this).innerHTML.indexOf("[/float]") != -1) {
pattern= /\[float=(.*?)\]([^\[]*)\[\/float\]/gi
$(this).html($(this).innerHTML.replace(pattern, "<span style='float: $1;'>$2</span>"))
}
})
</script>
これは純粋なJavascriptバリアントです(完全に機能します):
<script language="javascript">
posts=document.getElementsByTagName("div")
for(x in posts) if(posts[x].className=="post-content") {
post = posts[x].innerHTML;
if(post.indexOf("[/float]") != -1) {
pattern = /\[float=(.*?)\]([^\[]*)\[\/float\]/gi
posts[x].innerHTML = posts[x].innerHTML.replace(pattern, "<span style='float: $1;'>$2</span>")
}
}
</script>
このスクリプトの機能:
- クラスを持つすべてのdivを探します
post-content
。 - bbcodeの終了タグがあるかどうかをチェックします。
- 正規表現を使用して、指定されたbbcodeタグのパターンを探します。
- bbcodeタグをhtml要素に置き換えます。
ここで何を間違えたのかわかりません...