更新 2025.4.13 13:38

じょうずにもじをかぞえられるかな?

↓のもじをかぞえよう! なんもじあるかな? ↓ジャバスクリプトさんのこたえ  せいかい! ↓PHPさんのこたえ str_replace([PHP_EOL, ' ', ' '], '', $textarea_value)をつかったよ! 3 mb_strlen でせいかい! 7 strlen はざんねん! preg_replace('/[\n\s ]+/', '', $textarea_value)をつかったよ! 4 mb_strlen でもざんねん! 5 strlen もざんねん! ↓このぺーじのそーす ──────────────────────────────────── ↓のもじをかぞえよう! なんもじあるかな? <textarea id="textarea" class="form-control" rows="4">  あ a … </textarea> ↓ジャバスクリプトさんのこたえ <samp id="samp" class="badge text-bg-success"></samp> せいかい! <script> const ja=new Intl.Segmenter("ja", {granularity: "grapheme"}); samp.innerText=Array.from(ja.segment(textarea.value.replace(/[\n\s]/g, ""))).length </script> <?php $file = file_get_contents(__FILE__); $dom = new DOMDocument(); $dom->loadHTML('<?xml encoding="UTF-8">'. $file); $textarea = $dom->getElementById('textarea'); $textarea_value = trim($textarea->nodeValue); $value_str_replace = str_replace([PHP_EOL, ' ', ' '], '', $textarea_value); $value_preg_replace = preg_replace('/[\n\s ]+/', '', $textarea_value); echo '↓PHPさんのこたえ <code>', h("str_replace([PHP_EOL, ' ', ' '], '', \$textarea_value)をつかったよ!"), '</code> <samp class="badge text-bg-success">', mb_strlen($value_str_replace, 'UTF-8'), '</samp> mb_strlen でせいかい! <samp class="badge text-bg-danger">', strlen($value_str_replace), '</samp> strlen はざんねん! <code>', h("preg_replace('/[\\n\\s ]+/', '', \$textarea_value)をつかったよ!"), '</code> <samp class="badge text-bg-danger">', mb_strlen($value_preg_replace, 'UTF-8'), '</samp> mb_strlen でもざんねん! <samp class="badge text-bg-danger">', strlen($value_preg_replace), '</samp> strlen もざんねん! ↓このぺーじのそーす ', $separator, PHP_EOL, hs($file);