このツールで削除されるもの
テキストには、書かれた場所に応じた書式が付いてきます。Web ページは単語を HTML タグで囲みます。README やチャットのメッセージは Markdown のアスタリスクやシャープを使います。掲示板は角かっこで書く BBCode を使います。Word、Google ドキュメント、メールからコピーすると、ノーブレークスペースやゼロ幅文字、余分な空行が紛れ込むこともあります。
貼り付けたときに何が起きるかを説明しておきます。このページの入力欄は、一般的なテキストエリアと同じプレーンテキストの入力欄です。Word や Web ページからリッチテキストを貼り付けると、太字、斜体、フォント、サイズ、色、リンクの装飾は、テキストが入力欄に届く前にブラウザーが取り除きます。ブラウザーが取り除けないのは、文字として書かれた書式です。コードとしてコピーしたタグ、Markdown の記号、BBCode、& などの文字参照、見えない空白文字がそれにあたります。このツールが整えるのはその部分です。
使い方
- 書式付きテキストに貼り付けます。動作を確認できるよう、HTML と Markdown を含むサンプルがあらかじめ入っています。
- プレーンテキスト欄に、整えた結果が入力に合わせて表示されます。
- 削除する内容を選びます。次の項目は初期設定でオンです。
- HTML タグを削除
- Markdown を削除
- BBCode を削除
- 装飾フォントを普通の文字に
- スペースと空行を整える
- キーボードで入力できる引用符やハイフンにもそろえたい場合は、カーブした引用符とダッシュをまっすぐにをオンにします。
- コピーまたはダウンロードを押します。ツールの下に、削除した書式の文字数が表示されます。
変換例
以下の結果はすべてこのツールの初期設定で実際に変換したものです。¶ は改行を表します。
| 書式付きテキスト | プレーンテキスト |
|---|---|
<p>We hit our goal & shipped the <a href="https://example.com">new site</a>.</p> |
We hit our goal & shipped the new site. |
## Next steps ¶ ¶ - **Fix** the _footer_ ¶ - Read the [style guide](https://example.com/guide) |
Next steps ¶ ¶ Fix the footer ¶ Read the style guide |
[b]Sale[/b] ends [url=https://example.com]Friday[/url] |
Sale ends Friday |
Use **bold** and *italic* and とバッククォートで囲んだ単語 |
Use bold and italic and code. |
Tom & Jerry <3 |
Tom & Jerry <3 |
> Quoted line ¶ # Heading |
Quoted line ¶ Heading |
| snake_case_name と 2 * 3 * 4 はそのまま | snake_case_name and 2 * 3 * 4 stay as they are |
日本語の例として、## 見出し ¶ ¶ - **重要**:会議は_金曜_です を初期設定で変換すると「見出し ¶ ¶ 重要:会議は_金曜_です」になります。見出しと太字の記号は消えますが、アンダースコアが日本語の文字に直接くっついている「金曜」は斜体の記号と判断されずに残ります。また、全角のコロン「:」が半角の「:」に変わっている点にも注目してください(理由は次の「仕組み」で説明します)。
仕組み
このツールは、決まった順番で何段階かの整理を行います。
- Markdown を最初に処理します。コードブロックの囲み、水平線、表の区切り行、リンク定義は削除されます。見出し、引用、箇条書きは記号が外れます。画像は代替テキストが、リンクはリンク文字が残ります。太字、斜体、取り消し線、インラインコードは記号が外れますが、それは記号が文字を外側から囲んでいる場合だけです。
- 次に HTML を処理します。コメント、スクリプト、スタイルは丸ごと削除されます。ブロック要素は改行に変わるので段落は分かれたままになり、表のセルはタブに、それ以外のタグはすべて削除されます。名前付きおよび数値の文字参照はデコードされます。
- [b]、[url=…]、[quote] などの角かっこで書かれた BBCode のタグを削除し、中の文字は残します。
- フォント変換ツールで作った装飾フォントを普通の文字に戻し、取り消し線の記号を削除します。この処理では全角英数字と全角記号(A、1、!、()、: など)も半角に変換されます。日本語の文章で全角の記号を残したい場合は、装飾フォントを普通の文字にをオフにしてください。ひらがな、カタカナ、漢字、「、」「。」、かぎかっこは変わりません。
- 整理の段階で、見えない文字を削除し、特殊な空白(全角スペースを含む)を通常のスペースに変え、行頭と行末のスペースを取り除き、連続する空行を1行までに減らします。
コツと注意点
- リストの記号は消えます。 書式を削除するのが目的なので当然ですが、リストの形を残したい場合は、後から自分でハイフンを付けるか、改行削除ツールでリストをカンマ区切りの1行にしてください。
- 「<」の後に英字が続き、その後に「>」がある部分は HTML タグに見えるため削除されます。数式やコードを整える場合は、「HTML タグを削除」をオフにしてください。
- 整理がオンの場合、インデントは削除されます。残したい場合は「スペースと空行を整える」をオフにしてください。
- リンクは文字が残り、URL は消えます。 URL が必要な場合は、整える前にコピーしておいてください。
- 装飾された Unicode 文字もここで変換されます。引用符、絵文字、アクセント記号、見えない文字をもっと細かく扱いたい場合は、プレーンテキスト変換を使ってください。
ほかの方法
Word: 文字を選択して Ctrl+Space を押すと文字書式が解除されます。貼り付けるときに「形式を選択して貼り付け」で「書式なしテキスト」を選ぶ方法もあります。ただし、どちらの方法でも文字として入力されたタグや Markdown は削除されません。
Google ドキュメント: Ctrl+Shift+V で書式なしで貼り付けるか、「表示形式」メニューの「書式をクリア」(Ctrl+\)を使います。こちらも、文字として入力された記号は残ります。
Mac: 多くのアプリでは Cmd+Shift+Option+V で、周囲の文章のスタイルに合わせて貼り付けられます。
コード: ブラウザーでは、new DOMParser().parseFromString(html, 'text/html').body.textContent で HTML 文字列のテキストを取り出せます。Python では BeautifulSoup の get_text() が同じ役割を果たします。Markdown には通常、パーサーか、このツールが使っているような正規表現の組み合わせが必要です。
整えた後のテキストに、元の文章から来た連続スペースや余分な空行が残っている場合は、空白削除ツールでさらに細かく調整できます。