2013年3月13日水曜日

◆見出しタグを拾って目次をつける

以下のようなブログの見出しを拾って目次をつけてあげようかと思う。
HTMソースをクリップボードにコピーしてPowerShellで編集して貼り付けなおす。

image

結果はこんな感じに

image

必要に迫られて「えいや」と書いたのでちょっと力技チックだが、とりあえず動く。
ここでは<h5>を拾う仕様としている。

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026

$cp = [Windows.Forms.Clipboard]

#ClipBoardから取得
$cp::GetText() 

$ctr = 1
$h5word = @()
$oString = $cp::GetText() -split "`r`n" |
 
 
%{  if($_ -match "<h5>(.*)</h5>"
){
       
$h5word += $Matches[1]
        $stCtr = ($ctr++).ToString("000"
)
       
$_ -replace "<h5>","<h5 id=`"id$($stCtr)`">"
      }else
{
       
$_
      }
    }


$outString = @()
$outString += "<ul>"
$h5word | %{$i=1
}{
   
$iSt=($i++).ToString("000"
)
   
$outString += "<li><a href=""#id{0}"">{1}</a></li>" -f $iSt,$_
}
$outString += "</ul>"
$outString += 
$oString
$cp
::SetText($outString -join "`r`n")

0 件のコメント:

コメントを投稿