🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Q&A

解決済

1回答

1078閲覧

数字の漢字変換方法?

rzy51114

総合スコア0

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

0グッド

0クリップ

投稿2021/03/22 13:03

編集2021/04/13 11:38

前提・実現したいこと

phpでハガキの縦書き表示(数字は、漢字変換)にチャレンジしていますが、
漢字変換に苦戦しており、うまくいきません。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

  縦書きで、うまく漢字変換できません。    エラーメッセージ ```特に表示はありません。 ### 該当のソースコード ソースコード ```php コード (html) <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type"content="text/html;charset=UTF-8"> <link rel="stylesheet" href="style.css"> <title>PHPsample</title> </head> <form method="post"action="check13.php"> <body> <p>郵便番号を入力してください。<br/></p> <input name="yuubinn"type="text"style="width:100px"><br/> アドレスを入力してください。<br/> <input name="address"type="text"style="width:300px;margin-left:50px"><br/> 部屋番号を入力してください。<br/> <input name="room"type="text"style="width:300px;margin-left:50px"><br/> お名前をお聞かせください。<br/> <input name="name"type="text"style="width:300px;margin-left:100px"><br/> <br/> <input type="submit" value="送る"> </form> </body> </html> (php) <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type"content="text/html;charset=UTF-8"> <title>PHP基礎</title> </head> <header> <?php $dsn='mysql:dbname=phpkiso4;host=localhost'; $user='root'; $password=''; $dbh=new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8'); ?> <p style='font-size:24px;margin:40px 40px 30px 180px';> <?php $yuubinn=print$_POST['yuubinn']; print$yuubinn; print'<br/>'; ?> </header> <body> <div style=-webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl,'font-size:20px;margin-top:30px ;margin-left: 120px'; > <section> <div class="container"> <main> <p class="main-title"></p> <p style='font-size:24px;margin:20px 20px 70px 20px';> <?php $address=$_POST['address']; print$address; print'<br/>'; ?> <p style='font-size:22px;margin:40px 20px 70px 10px';> <?php $room=$_POST['room']; print$room; print'<br/>'; ?> </main> <aside class="sidebar"><style;'margin-left:50px'> <p style='font-size:24px;margin:70px 50px 60px 5px';> <?php print'<strong>ようこそ</strong>'; print'<br/>'; $name=$_POST['name']; print$name; print' 様'; print'<br/>'; ?>   </aside> </div> </section> <footer> <p style='font-size:12px;margin:250px 40px 4px 40px';> <?php print'<strong>富山市大山町7777</strong>'; print'<br/>'; print'<strong>鉢村 正</strong>'; print'<br/>'; ?> </footer> </div> <p style='font-size:15px;margin:5px 120px 3px 50px';> <?php print'〒9380009'; ?> <?php $sql='INSERT INTO anketo4(yuubinn,address,room,name)VALUES ("'.$yuubinn.'","'.$address.'","'.$room.'","'.$name.'")'; $stmt=$dbh->prepare($sql); $stmt->execute(); $dbh=null; ?> <script src="https//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> <?php var henkanhyo={"0":"〇","1":"一","2":"二","3":"三","4":"四","5":"五","6":"六","7":"七","8":"八","9":"九","0":"〇","1":"一","2":"二","3":"三","4":"四","5":"五","6":"六","7":"七","8":"八","9":"九"); function henka(){ var v=$(".tategaki").text(); v.each(function(){ v=v.replace(/1(?=[1-9])|1(?=[1-9])|10|10/g,"十").replace(/[0-9]|[0-9]/g,function(x){return henkanhyo[x]}); $(".tategaki").text(v); }); } ?> </script> </body> </html>     ### 試したこと 「php(htmlでも可)とphp」を使用しています。Googleで検索し、JavaScriptでのこの変換方法を採用させていただいて、ごくごく簡易なケースでの数字(半角)から漢字変換表示することを、試していたらうまくいきました。しかし相当苦戦しました。(数字まじりの文節変換はとても難しいので、今後の研究課題とさせてください。) ### 補足情報(FW/ツールのバージョンなど) はがきフォーム(寸法は未完成)です。XAMPPはV3.2.4表示です。(phpの、パスワードはご自身のものを入力ください。phpは、'check41.php'の名前で使用しています。) 本件では、次の記事を参考とさせていただきました。 Google検索:> 引用テキスト「半角数字を漢数字(一二三・・・)に変換する。」 open spc2.org/reibun/javascript/business/031/index.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2021/03/22 14:20

>「teratail」で表示されていたコード使用してみましたが、うまくいきません。 質問にどんな結果になったかを明示しましょう。
ikadzuchi

2021/03/23 04:58

> 「teratail」で表示されていたコード 出典を示してください。
rzy51114

2021/03/24 09:09

teratailの出典:teratail.com/questions/193276, 投稿2018/12/11,編集2018/12/11です。 初心者のため、修正点等ご指示方お願いいたします。
rzy51114

2021/03/24 09:10

Google Chrome(数字ー漢字変換にて検索しました。)
ikadzuchi

2021/03/24 13:50

> teratail.com/questions/193276 ・違うようです。再度ご確認ください。 ・こちらに返信するのでなく質問を編集してください。 ・Orlofskyさんの指摘にも反応してください。
guest

回答1

0

自己解決

※(以下は成功した修正したコードです。

html

1コード 2<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"> 3<html> 4<head> 5<meta charset='UTF-8'> 6<link rel="stylesheet" href="style.css"> 7<title>PHPsample</title> 8</head> 9<body> 10<form name="myFORM"=name method="GET"action="check41.php"> 11 12<p>郵便番号を入力してください。</p><br/> 13<input type="text"size="16" name="yuubinn"><br/> 14 15<p>アドレスを入力してください。(市町村名まで)</p><br/> 16<input type="text"size="16" name="address"><br/> 17 18<p>番地(半角数字)を入力してください。</p><br/> 19 20変換前:<input type="text"size="16" name="motoone"><br/> 21変換後:<input type="text"size="16" name="sakione" ><br/> 22    <input type="button" value="変換" onClick="document.myFORM.sakione.value=toKansuji(document.myFORM.motoone.value)"> 23 24<p>部屋名を入力してください。</p><br/> 25<input type="text"size="16" name="room"><br/> 26 27部屋番号(半角数字)を入力してください。<br/> 28変換前:<input type="text"size="16" name="mototwo"><br/> 29変換後:<input type="text"size="16" name="sakitwo"><br/> 30    <input type="button" value="変換" onClick="document.myFORM.sakitwo.value=toKansuji(document.myFORM.mototwo.value)"> 31 32<br/> 33お名前をお聞かせください。<br/> 34 35<input type="text"size="16" name="name"><br/> 36<br/> 37 38<script language="JavaScript"><!-- 39 40function toKansuji(motoText) 41{ 42 txt = new Array("〇","一","二","三","四","五","六","七","八","九"); 43 str = ""; 44 for (i=0; i<motoText.length; i++) 45 { 46 c = txt[eval(motoText.charAt(i))]; 47 str += c; 48 } 49 return str; 50} 51 52// --></script> 53 54<input type="submit"value="登録"> 55 56</form> 57</body> 58</html>

php

1コード 2<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"> 3 4<html> 5<head> 6<meta http-equiv="Content-Type"content="text/html;charset=UTF-8"> 7 8 9<title>PHP基礎</title> 10</head> 11<header> 12<?php 13$dsn='mysql:dbname=phpkiso5;host=localhost'; 14$user='root'; 15$password=''; 16$dbh=new PDO($dsn,$user,$password); 17$dbh->query('SET NAMES utf8'); 18?> 19<p style='font-size:24px;margin:40px 40px 30px 180px';> 20<?php 21$yuubinn=$_GET['yuubinn']; 22print$yuubinn; 23print'<br/>'; 24?> 25 26</header> 27<body> 28 29<div style=-webkit-writing-mode:vertical-rl; 30-ms-writing-mode:tb-rl,'font-size:20px;margin-top:30px ;margin-left: 120px'; 31> 32 33 34<section> 35<div class="container"> 36 37<main> 38<p class="main-title"></p> 39<p style='font-size:24px;margin:20px 20px 70px 20px';> 40 41<?php 42 43$address=$_GET['address']; 44$motoone=$_GET['motoone']; 45$sakione=$_GET['sakione']; 46 47print$address; 48print'<br/>'; 49 50print$sakione; 51print'<br/>'; 52?> 53<p style='font-size:22px;margin:40px 20px 70px 10px';> 54 55<?php 56 57$room=$_GET['room']; 58$mototwo=$_GET['mototwo']; 59$sakitwo=$_GET['sakitwo']; 60 61print$room; 62print'<br/>'; 63 64print$sakitwo; 65print'<br/>'; 66?> 67 68</main> 69 70<aside class="sidebar"><style;'margin-left:50px'> 71<p style='font-size:24px;margin:70px 50px 60px 5px';> 72<?php 73print'<strong>(ようこそ)</strong>'; 74print'<br/>'; 75$name=$_GET['name']; 76print$name; 77print' 様'; 78print'<br/>'; 79?>   80</aside> 81 82</div> 83</section> 84<footer> 85<p style='font-size:12px;margin:250px 40px 4px 40px';> 86<?php 87print'<strong>富山市大山町7777</strong>'; 88print'<br/>'; 89print'<strong>鉢村 正</strong>'; 90print'<br/>'; 91 92?> 93 94</footer> 95 96</div> 97<p style='font-size:15px;margin:5px 120px 3px 50px';> 98<?php 99print'〒9000009'; 100?> 101 102 103 104<?php 105$sql='INSERT INTO anketo6(yuubinn,address,motoone,sakione,room,mototwo,sakitwo,name)VALUES 106("'.$yuubinn.'","'.$address.'","'.$motoone.'","'.$sakione.'","'.$room.'","'.$mototwo.'","'.$sakitwo.'","'.$name.'")'; 107$stmt=$dbh->prepare($sql); 108$stmt->execute(); 109 110$dbh=null; 111?> 112 113</body> 114</html>コード

※「php(htmlでも可)とphp」を使用しています。Googleで検索し、JavaScriptでのこの変換方法を採用させていただいて、ごくごく簡易なケースでの数字(半角)から漢字変換表示することを、試していたらうまくいきました。しかし相当苦戦しました。(数字まじりの文節変換はとても難しいので、今後の研究課題とさせてください。)

はがきフォーム(寸法は未完成)です。XAMPPはV3.2.4表示です。(phpの、パスワードはご自身のものを入力ください。phpは、'check41.php'の名前で使用しています。)
本件では、次の記事を参考とさせていただきました。
Google検索:> 引用テキスト「半角数字を漢数字(一二三・・・)に変換する。」
open spc2.org/reibun/javascript/business/031/index.html

投稿2021/04/13 11:44

rzy51114

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問