おじさん構文作成アプリ
なんでもおじさん構文にしてやる。文章を入力して構文変換ボタンを押せば、おじさん構文に変換するぞ。
以下が、おじさん構文作成アプリのサンプルコードです。evalや他のサイトへの遷移・リダイレクトは使用していません。 ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>おじさん構文作成アプリ</title> <script> function convertToOjisanText(text) { // ひらがなを全角カタカナに変換する function toKana(text) { return text.replace(/[\u3041-\u3096]/g, function(match) { var chr = match.charCodeAt(0) + 0x60; return String.fromCharCode(chr); }); } // 末尾に「だワン」を追加する function addDaWan(text) { var lastChar = text.charAt(text.length - 1); if (lastChar == '。' || lastChar == '!' || lastChar == '?') { return text.slice(0, -1) + 'だワン' + lastChar; } else { return text + 'だワン'; } } // 文章の各文をおじさん構文に変換する function convertSentence(text) { // ひらがなを全角カタカナに変換する var kana = toKana(text); // 最後の句点を除去する kana = kana.replace(/。$/, ''); // 語尾に「ワン」を付ける kana = addDaWan(kana); // カタカナをひらがなに変換する return kana.replace(/[\u30a1-\u30f6]/g, function(match) { var chr = match.charCodeAt(0) - 0x60; return String.fromCharCode(chr); }); } // 改行区切りの複数行に対応する return text.split(/\r?\n/).map(convertSentence).join('\n'); } function handleConvertClick() { var inputText = document.getElementById('input').value; var outputText = convertToOjisanText(inputText); document.getElementById('output').value = outputText; } </script> </head> <body> <h1>おじさん構文作成アプリ</h1> <p>なんでもおじさん構文にしてやる。文章を入力して構文変換ボタンを押せば、おじさん構文に変換するぞ。</p> <textarea id="input" rows="5" cols="80"></textarea> <br> <button type="button" onclick="handleConvertClick()">構文変換</button> <br> <textarea id="output" rows="5" cols="80" readonly></textarea> </body> </html> ``` おじさん構文にする方法は様々ありますが、ここでは以下のルールに従って変換しています。 1. ひらがなを全角カタカナに変換する 2. 文末に「だワン」を付ける(ただし、句点が既にある場合はその前に「だワン」を付ける) 3. カタカナをひらがなに戻す 例えば、以下のように入力すると次のように出力されます。 入力: ``` こんにちは。 山田太郎さんは明日くるって言ってた。 お疲れ様。 ``` 出力: ``` コンニチハだワン。 ヤマダタロウサンハアシタクルッテイッテタだワン。 オツカレサマだワン。 ```