ハイフンを連続で記述した際に1つになるWordPressのバグ対策として作成したので、公開します。
本ツールについて
ツールを作成した背景と、処理内容について説明します。
WordPressでは、ハイフンを連続で記述した際、あたかも1つのハイフンのように表示されるバグがあります。
これを回避する方法の1つとして、codeタグで囲む方法がありますが、修正箇所が複数あると修正が面倒なので、本ツールを作成しました。
ツールの処理内容としては、下記のようになっています。
- クリップボードに格納されている文字列の読み込み
- 連続したハイフン(ツールのデフォルトでは2つのハイフン)を、codeタグで囲む
- codeタグで囲んだ文字列をクリップボードに登録
次に、例を交えつつ、実際に使用する方法を見ていきましょう。
リンク
使用方法
本スクリプトの使用方法です。
1.連続したハイフンが含まれている文字列をコピー(クリップボードに入っている状態にしておく)
ここでは、例として、下記のような文字列をコピーしておくことにします。
abc--def--ghi
2.本スクリプトを実行します。
実行すると、クリップボード内の情報が書き換えられます。
3.テキストエディタなどにペースト(貼り付け)
正常に動作すれば、下記のように、ハイフンが codeタグで囲われます。
abc<code>--</code>def<code>--</code>ghi
使用方法としては、以上です。
ソースコード
本ツールのソースコードになります。
テキストエディタなどにコピペし、名前を付けて保存すればOKです。
ファイル名は自由で、拡張子は「.vbs」として下さい。
Option Explicit
' 文字列格納変数
Dim str
' クリップボード読み込み関数の呼び出し
str = getClipboard()
' [--]を[<code>--</code>]に変換
str = Replace(str, "--", "<code>--</code>")
' クリップボード書き込み関数の呼び出し
setClipboard(str)
' 処理終了
WScript.Quit
' クリップボードに格納されている文字列情報の取得関数
Function getClipboard()
Dim objHTML
Set objHTML = CreateObject("htmlfile")
getClipboard = Trim(objHTML.ParentWindow.ClipboardData.GetData("text"))
Set objHTML = Nothing
End Function
' クリップボードへ文字列情報を登録する関数
Function setClipboard(ByVal str)
Dim cmd, objShell
cmd = "cmd /c ""set /p vbstmp=""" & str & """ < nul | clip"""
Set objShell = CreateObject("WScript.Shell")
objShell.Run cmd, 0
Set objShell = Nothing
End Function
関連記事
ソースコード上にコメントを書いていますが、各処理・機能について詳しく知りたいという方は、以下に関連する記事をまとめていますので、参考にしてみて下さい。
リンク
コメント