function LyricsInfoGet(html)
    --歌詞を取り出す
    is1, ie1 = html:find("<h3 id=\"id_%w+\">歌詞</h3>",1)
    --無いときは抜ける
    if is1 == nil then
        return
    end
    --歌詞の終わりを見つける
    is2, ie2 = html:find("<h3", ie1+1, 1)
    is2_,ie2_= html:find("<h4", ie1+1, 1)
    if is2_=nil and is2 > is2_ then
       is2, ie2 = is2_, ie2_ 
    end
    is2_,ie2_= html:find("<table", ie1+1, 1)
    if is2_=nil and is2 > is2_ then
       is2, ie2 = is2_, ie2_ 
    end
    lyrics = html:sub(ie1+1, is2-1)
    --転載注釈を外す
    is1, ie1, kakko = lyrics:find("(%b())")
    if is1 = nil then
        if kakko:find("転載") or kakko:find("動画") or kakko:find("ブログ") then
            lyrics = lyrics:sub(1, is1-1) .. lyrics:sub(ie1+1, -1)
        end
    end
    is1,ie1,kakko = lyrics:find("((.-))")
    if is1 = nil then
        if kakko:find("転載") or kakko:find("動画") or kakko:find("ブログ") then
            lyrics = lyrics:sub(1, is1-1) .. lyrics:sub(ie1+1, -1)
        end
    end
    --HTMLテキストのdiv,改行,ルビ等を消す
    --\n\n</div>は改行とする
    lyrics = lyrics:gsub("\n\n</div>", "<br />")
    lyrics = lyrics:gsub("<div>", "")
    lyrics = lyrics:gsub("</div>", "")
    lyrics = lyrics:gsub("\n", "")
    lyrics = lyrics:gsub("<rt>.-</rt>", "")
    lyrics = lyrics:gsub("<rp>.-</rp>", "")
    lyrics = lyrics:gsub("<rb>", "")
    lyrics = lyrics:gsub("</rb>", "")
    lyrics = lyrics:gsub("<ruby>", "")
    lyrics = lyrics:gsub("</ruby>", "")
    lyrics = lyrics:gsub("<span.->", "")
    lyrics = lyrics:gsub("</span>", "")
    lyrics = lyrics:gsub("<!\-\-.-\-\->", "")
    lyrics = lyrics:gsub("<a .->", "")
    lyrics = lyrics:gsub("</a>", "")
    --<br />を改行にする
    lyrics = lyrics:gsub("<br />", "\r\n")
    --行頭と行末の改行を削除
    while lyrics:sub(1,2) == "\r\n" do lyrics = lyrics:sub(3) end
    while lyrics:sub(-2) == "\r\n" do lyrics = lyrics:sub(1,-3) end
    --行末の空白文字を削除
    lyrics = lyrics:gsub("\s-\r\n", "\r\n")
    lyrics = lyrics:gsub(" -\r\n", "\r\n")
    --特殊文字
    lyrics = lyrics:gsub("&lt;", "<")
    lyrics = lyrics:gsub("&gt;", ">")
    lyrics = lyrics:gsub("&nbsp;", " ")
    lyrics = lyrics:gsub("&quot;", "\"")
    lyrics = lyrics:gsub("&amp;", "&")

    --タイトルを取り出す
    title = html:match("<h2>.-<a .->(.-)</a>.-</h2>")
    --特殊文字
    title = title:gsub("&lt;", "<")
    title = title:gsub("&gt;", ">")
    title = title:gsub("&nbsp;", " ")
    title = title:gsub("&quot;", "\"")
    title = title:gsub("&amp;", "&")

    --アーティスト名を取り出す
    artist = html:match("</h2>.-作曲.-<a.->(.-)</a>.-<h3")
    --特殊文字
    artist = artist:gsub("&lt;", "<")
    artist = artist:gsub("&gt;", ">")
    artist = artist:gsub("&nbsp;", " ")
    artist = artist:gsub("&quot;", "\"")
    artist = artist:gsub("&amp;", "&")

    return "LYRICS="..lyrics, "TITLE="..title, "ARTIST="..artist
end


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-05-14 (日) 16:43:24