• 締切済み

javascriptの文字列置換

例えば aaという入力文字列に対し、結果として <span id=1>a</span><span id=2>a</span> というように、ここの「a」に関してidによる区別を行いつつ、置換を行いたいです。 現在、下記のコードのように書いていて、 indexSet=[a, 0, b, 1, c, 2] という配列になっています。 var num = 0; for (var i = 0; i < indexSet.length; i+=2) { var subjectKeyword = new RegExp( indexSet[i], "g" ); if( Body.match(subjectKeyword) ){ Body = Body.split( indexSet[i] ).join( '<span id=' + indexSet[i+1] + '-' + num + '>' + indexSet[i] + '</span>' ); num++; } else { Body = Body; } } 欲しい結果は <span id=1-1>a</span><span id=1-2>a</span> なのですが、上記のコードでは <span id=1-1>a</span><span id=1-1>a</span> と、全てのaに対して同時処理を行っているように見えます。 どのように改善すればよいのかわかりません。どうか力を貸していただけませんか?

みんなの回答

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.4

No.3 は根本的な間違いがありましたので修正します。 関数 replace は一回のみ適用でなければ、置換結果を再び置換してしまう可能性があったので。 var 入力 = "ABC of APC"; var 条件 = [ ['a', 0], ['b', 1], ['c', 2] ]; var LC = function(s){return s.toLowerCase()}; var RP = function(s){var i=1,a=arguments;return s.replace(/%/g,function(){return a[i++]})}; var cx = 条件.reduce(function(o,c){o[LC(c[0])]=[c[1],0]; return o}, {}); var re = new RegExp(条件.map(function(c){return c[0]}).join('|'), 'gi'); var 結果 = 入力.replace(re, function(str,ofs,src){ var c = cx[LC(str)]; return c? RP('<span id="no%-%">%</span>',c[0],c[1]++,str): str; });

全文を見る
すると、全ての回答が全文表示されます。
  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.3

ご要望の結果を得るならば、置換箇所毎に個別処理が必要がありますが、 <script> 文字列.split(re).join(置換文) </script> では不可能です <script> 文字列.replace(re,function(s){return 置換文}) </script> にて処理しましょう 以下サンプルです <script>(function(){_=0; _ ; var body = "ABC of APC"; _ ; var iset = [ ['a', 0], ['b', 1], ['c', 2]]; _ ; var answ = iset.reduce(function(prev, curr){ _ , _ ; var re = new RegExp(curr[0], 'ig'); _ , _ ; var a = curr[1], b = 0; _ , _ ; return prev.replace(re, function(str,ofs,src){ _ , _ , _ ; var id = 'no' + a + '-' + (b++); _ , _ , _ ; return '<span id="%">%</span>'.replace(/%/,id).replace(/%/,str); _ , _ ; }); _ ; }, body); _ ; alert(answ); })()</script>

全文を見る
すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>これはあくまで例です。 とにかく例が悪すぎ 特定のテキストノードの値をspanで囲みたいのでしょうか? その際のidの付け方のルールも曖昧でわかりづらい

全文を見る
すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

htmlにおいては、idに数値だけを指定することはありえないので このプログラムの実用性もほぼないと思います

tennis_eyes
質問者

補足

これはあくまで例です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • javascriptでID指定場所に税込み合計を

    前回の質問が分かり難かったので、改めてご質問させていただきます。 外部javascriptでID指定場所に税抜き合計と税込み合計を表示したいです。 現在税抜き合計までは対応しています。(下記参照) お教えいただけましたら幸甚です。 商品1 <span id="suuji1">5,000</span> 商品2 <span id="suuji2">500</span> ・・・ 商品9 <span id="suuji9">2,000</span> 税抜き合計 <span id="total">ここに自動で表示</span> 税込み合計 <span id="zeikomi">ここに自動で表示</span> ※小数点以下切り捨て 商品の金額にはコンマが付いております。 合計金額にもコンマを付与したいです。9000→9,000 以上何卒宜しくお願い申し上げます。 <現在のソース> var preOnload = window.onload; window.onload = function() { if(preOnload){ preOnload() } var n=document.getElementsByTagName("span"); var v=0; for(var i=0;i<n.length;i++){ if(n[i].id.match(/^suuji[0-9]+$/)){ v +=parseInt(n[i].innerHTML.replace(/,/g,'')); } } var num=v.toString(); while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2"))); document.getElementById("total").innerHTML=num; }

  • Javascriptでの正しい文字置換方法

    Javascriptのサンプルなどで置換処理は A→Bの置換を行う場合 文字列をAで配列に分割してそれをB区切りに連結するという方法を使っているのを見かけるのですが納得いきません。 Perlで書いた場合、こんな感じの処理ですね。 $str = join("B",split(/A/, $str)); もう少し正直に $str =~ s/A/B/g; に該当するような正しい記述は無いものでしょうか?

  • Javascriptで特殊文字を置換する方法

    表題の件で分からず教えてください。 PerlでHTMLとJavascript(HTML埋め込み)を作成しています。 Javascript(On Click)で、文字列を置換させたいのですが、うまくできません。 (最終的にやりたいことはTextAreaに埋め込んだタグ付き文章を「プレビューする」ようなイメージです) ■置換前の文字列 $body$ ■置換後の文字列 任意の文字列(タグを含む) ネットで調べたところ次の方法でできるようだったので試しましたが、できませんでした。 var rgexp = new RegExp("\$body\$", "g"); str = frm.preview.value.replace(rgexp, "■■■"); 「$」とエスケープ文字をはずすとうまくいくので、多分「$」で失敗しているのだと思いますが 解決が分かりません。 ※エスケープをはずすとPerlの出力時に怒られてしまいます お分かりになる方いらっしゃいましたらお願いします。

  • ループ、プログラムなのに!?

     以下のプログラムは、ただの乗算と、その合計を計算するだけなのに、なんでfor (var i = 1; i < 4; i++) {  のループ、プログラムなのですか?  もし同じ計算結果のダイアログBOXで、Javaの範疇で組むのであれば、他にどんなプログラムがあるのですか?  よろしくお願いします。 <HTML> <HEAD> <TITLE>ループ</TITLE> <script tytpe="text/javascript"> <!-- function calc(){ var alltotal = 0; for (var i = 1; i < 4; i++) { var price = document.getElementById("price" + i).innerHTML; var num = document.getElementById("num" + i).value; var total = price * num; document.getElementById("total" + i).innerHTML = total; alltotal += total; } document.getElementById("alltotal").innerHTML = alltotal; } </script> </HEAD> <body> <p><span id="price1">100</span><input id="num1" value="0" /><span id="total1">1の合計</span></p> <p><span id="price2">200</span><input id="num2" value="0" /><span id="total2">2の合計</span></p> <p><span id="price3">300</span><input id="num3" value="0" /><span id="total3">3の合計</span></p> <div id="alltotal">合計</div> <button onclick="calc()">計算</button> </body> </HTML>

  • JavaScriptのtable保存について

    先日時間割り表を作り以下のコードを書きました これをアプリにして自分のスマホに入れたのですがAndroidのためcookieが対応していません そこでlocalStorageを使えば可能ということを聞きました <body background="img/st18.png"> <center> <font style="font-size:30pt;"> <font color="#4795F4"><b><i>Monday</i></b></font> </font> <br><br> <a href="sat.html"><img src="img/blsat.gif" width="50" height="25"></a> <a href="index.html"><img src="img/blhome.gif" width="50" height="25"></a> <a href="tue.html"><img src="img/bltue.gif" width="50" height="25"></a> <form> <br> <table border="3" bordercolor="#4795F4" align="center" bgcolor="#DDFFFA"> <tr align="center"><th>時間</th><th>科目</th><th>教室</th><th>備考</th></tr> <tr align="center"><td width="20" height="80">1</td><td width="70"><span id="sbj1"></span></td> <td width="60"><span id="crm1"></span></td><td width="100"><span id="com1"></span></td> <tr align="center"><td width="20" height="80">2</td><td width="70"><span id="sbj2"></span></td> <td width="60"><span id="crm2"></span></td><td width="100"><span id="com2"></span></td> <tr align="center"><td width="20" height="80">3</td><td width="70"><span id="sbj3"></span></td> <td width="60"><span id="crm3"></span></td><td width="100"><span id="com3"></span></td> <tr align="center"><td width="20" height="80">4</td><td width="70"><span id="sbj4"></span></td> <td width="60"><span id="crm4"></span></td><td width="100"><span id="com4"></span></td> <tr align="center"><td width="20" height="80">5</td><td width="70"><span id="sbj5"></span></td> <td width="60"><span id="crm5"></span></td><td width="100"><span id="com5"></span></td> <span id="testarea"></span> </form> </body> <script> <!-- monaca.viewport({width: 320}); function setCookie(c_name,value,expiredays){ // pathの指定 変数名 var path = location.pathname; // pathをフォルダ毎に指定する場合のIE対策 var paths = new Array(); paths = path.split("/"); if(paths[paths.length-1] != ""){ paths[paths.length-1] = ""; path = paths.join("/"); } // 有効期限の日付 これがないと編集できない var extime = new Date().getTime(); var cltime = new Date(extime + (60*60*24*1000*expiredays)); var exdate = cltime.toUTCString(); // クッキーに保存する文字列を生成 これがないと保存できない var s=""; s += c_name +"="+ escape(value);// 値はエンコードしておく s += "; path="+ path; if(expiredays){ s += "; expires=" +exdate+"; "; }else{ s += "; "; } // クッキーに保存 document.cookie=s; } function getCookie(c_name){ var st=""; var ed=""; if(document.cookie.length>0){ // クッキーの値を取り出す st=document.cookie.indexOf(c_name + "="); if(st!=-1){ st=st+c_name.length+1; ed=document.cookie.indexOf(";",st); if(ed==-1) ed=document.cookie.length; // 値をデコードして返す return unescape(document.cookie.substring(st,ed)); } } return ""; } //変数設定 if(getCookie('mon_sects1')){var sect1 = getCookie('mon_sects1');}else{var sect1 = "科目1,教室,備考";} if(getCookie('mon_sects2')){var sect2 = getCookie('mon_sects2');}else{var sect2 = "科目2,教室,備考";} if(getCookie('mon_sects3')){var sect3 = getCookie('mon_sects3');}else{var sect3 = "科目3,教室,備考";} if(getCookie('mon_sects4')){var sect4 = getCookie('mon_sects4');}else{var sect4 = "科目4,教室,備考";} if(getCookie('mon_sects5')){var sect5 = getCookie('mon_sects5');}else{var sect5 = "科目5,教室,備考";} var sects = new Array(sect1,sect2,sect3,sect4,sect5); //時間割編集ここから function editj(a){ var secname = new Array('mon_sects1','mon_sects2','mon_sects3','mon_sects4','mon_sects5'); editsec = window.prompt("「科目,教室,備考」の順に入力してください", sects[a]); if(editsec){ secookie = secname[a]; setCookie(secookie,editsec,365); location.reload(); } } //時間割編集ここまで //時間割表示 for (i = 0; i < 5; i = i + 1){ j = i + 1; wari = sects[i].split( "," ); var subj = "sbj" + j; var clrm = "crm" + j; var comt = "com" + j; if(wari[0]){ document.getElementById(subj).innerHTML = wari[0]; } if(wari[1]){ document.getElementById(clrm).innerHTML = wari[1]; } document.getElementById(comt).innerHTML = wari[2] + "<br><img src='img/bledit.gif' width='50' height='20' onClick='editj(" + i + ")'>"; } これをlocalStorageで保存するにはどうすればできますか? もしもcookieを使ってもAndroidで保存できる方法があれば教えてください

  • JavaScriptのフォントの大きさ

    JavaScriptでの文字の大きさの変更について教えてください 以下のコードなのですが gamesの文字を大きくしたいです でも下記のコードのやり方だとだめでした font-sizeでは無理なのでしょうか? <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <title>間違い探しゲーム!</title> <style> span { cursor:pointer; } mozi { font-size:40px; } </style> </head> <body> <h1>間違い探しゲーム!</h1> <p><input type="button" value="開始" onclick="gameStart();"></p> <p id="score"></p> <div id="cells"></div> <script> var level = 0; var games = [ ['問','間'], ['大','太'], ['白','臼'] ]; games.className = "mozi"; var MAX_LEVEL = games.length - 1; var DIM_FIRST = 5; var DIM_DELTA = 3; var dim = DIM_FIRST; var t1; var t2; function gameStart() { var dummy = games[level][0]; var seikai = games[level][1]; if (level == 0) { $('#score').empty(); t1 = new Date().getTime(); } //dim*dimのspan要素を使って#cellsに突っ込む //ゲーム画面5*5にする var cells = ''; for (var i = 1; i <= dim * dim; i++) { cells += '<span id="s' + i + '"></span>'; if (i % dim == 0){ cells += '<br />'; } } $('#cells').html(cells); //dummyで埋められた配列を作る var chars = []; for (var i = 0; i < dim * dim; i++){ chars.push(dummy); } //配列のうち一つを正解にする var offset = Math.floor(Math.random() * chars.length); chars.splice(offset, 1, seikai); //span要素にそれらの配列の値をはめ込む for (var i = 1; i <= chars.length; i++) { $('#s'+i).text(chars[i - 1]); $('#s'+i).click(function(){ if ($(this).text() == seikai) { level++; dim += DIM_DELTA; if (level > MAX_LEVEL) { t2 = new Date().getTime(); $('#score').text('Your SCORE is '+(t2-t1)/1000+'!!'); level = 0; dim = DIM_FIRST return false; } gameStart(); } }); } } </script> </body> </html>

  • JavaScriptでの時間割り作成について

    <form> <br> <table border="3" bordercolor="#994C00" align="center" bgcolor="#FFDFAA"> <tr align="center"><th>時間</th><th>科目</th><th>教室</th><th>備考</th></tr> <tr align="center"><td width="20" height="80">1</td><td width="70"><span id="sbj1"></span></td> <td width="60"><span id="crm1"></span></td><td width="100"><span id="com1"></span></td> <tr align="center"><td width="20" height="80">2</td><td width="70"><span id="sbj2"></span></td> <td width="60"><span id="crm2"></span></td><td width="100"><span id="com2"></span></td> <tr align="center"><td width="20" height="80">3</td><td width="70"><span id="sbj3"></span></td> <td width="60"><span id="crm3"></span></td><td width="100"><span id="com3"></span></td> <tr align="center"><td width="20" height="80">4</td><td width="70"><span id="sbj4"></span></td> <td width="60"><span id="crm4"></span></td><td width="100"><span id="com4"></span></td> <tr align="center"><td width="20" height="80">5</td><td width="70"><span id="sbj5"></span></td> <td width="60"><span id="crm5"></span></td><td width="100"><span id="com5"></span></td> <span id="testarea"></span> </form> </body> <script> <!-- // Set virtual screen width size to 320 pixels // 下の一行は使う時に外す。エラーが出たら消す。 monaca.viewport({width: 320}); function setCookie(c_name,value,expiredays){ // pathの指定 変数名 var path = location.pathname; // pathをフォルダ毎に指定する場合のIE対策 var paths = new Array(); paths = path.split("/"); if(paths[paths.length-1] != ""){ paths[paths.length-1] = ""; path = paths.join("/"); } // 有効期限の日付 これがないと編集できない var extime = new Date().getTime(); var cltime = new Date(extime + (60*60*24*1000*expiredays)); var exdate = cltime.toUTCString(); // クッキーに保存する文字列を生成 これがないと保存できない var s=""; s += c_name +"="+ escape(value);// 値はエンコードしておく s += "; path="+ path; if(expiredays){ s += "; expires=" +exdate+"; "; }else{ s += "; "; } // クッキーに保存 document.cookie=s; } function getCookie(c_name){ var st=""; var ed=""; if(document.cookie.length>0){ // クッキーの値を取り出す st=document.cookie.indexOf(c_name + "="); if(st!=-1){ st=st+c_name.length+1; ed=document.cookie.indexOf(";",st); if(ed==-1) ed=document.cookie.length; // 値をデコードして返す return unescape(document.cookie.substring(st,ed)); } } return ""; } //変数設定 if(getCookie('sects1')){var sect1 = getCookie('sects1');}else{var sect1 = "科目1,教室,備考";} if(getCookie('sects2')){var sect2 = getCookie('sects2');}else{var sect2 = "科目2,教室,備考";} if(getCookie('sects3')){var sect3 = getCookie('sects3');}else{var sect3 = "科目3,教室,備考";} if(getCookie('sects4')){var sect4 = getCookie('sects4');}else{var sect4 = "科目4,教室,備考";} if(getCookie('sects5')){var sect5 = getCookie('sects5');}else{var sect5 = "科目5,教室,備考";} var sects = new Array(sect1,sect2,sect3,sect4,sect5); //時間割編集ここから function editj(a){ var secname = new Array('sects1','sects2','sects3','sects4','sects5'); editsec = window.prompt("「科目,教室,備考」の順に入力してください", sects[a]); if(editsec){ secookie = secname[a]; setCookie(secookie,editsec,365); window.alert("完了しました!"); location.reload(); } } //時間割編集ここまで //時間割表示 for (i = 0; i < 5; i = i + 1){ j = i + 1; wari = sects[i].split( "," ); var subj = "sbj" + j; var clrm = "crm" + j; var comt = "com" + j; if(wari[0]){ document.getElementById(subj).innerHTML = wari[0]; } if(wari[1]){ document.getElementById(clrm).innerHTML = wari[1]; } document.getElementById(comt).innerHTML = wari[2] + "<br><input type=button value='編集' onClick='editj(" + i + ")'>"; } //時間割表示ここまで --> </script> というコードです これは月曜日のシートで火曜日、水曜日・・・と土曜日まであります このコードで月曜日の時間割を変更すると火曜日、水曜日などすべてのシートが変更されてしまいます シートごとに保存する方法ってありますか? JavaScriptを始めたばかりなのでわかりやすく教えてほしいです><

  • javascriptについて

    現在HPを作成していてjavaのプルダウンメニューを設置していますが 最初からメニューが開いた状態になります。ちなみにsdmenu.jsを使用しています。 最初開いた時にメニューが閉じるようにできますでしょうか? function SDMenu(id) { if (!document.getElementById || !document.getElementsByTagName) return false; this.menu = document.getElementById(id); this.submenus = this.menu.getElementsByTagName("div"); this.remember = true; this.speed = 4; this.markCurrent = true; this.oneSmOnly = false; } SDMenu.prototype.init = function() { var mainInstance = this; for (var i = 0; i < this.submenus.length; i++) this.submenus[i].getElementsByTagName("span")[0].onclick = function() { mainInstance.toggleMenu(this.parentNode); }; if (this.markCurrent) { var links = this.menu.getElementsByTagName("a"); for (var i = 0; i < links.length; i++) if (links[i].href == document.location.href) { links[i].className = "current"; break; } } if (this.remember) { var regex = new RegExp("sdmenu_" + encodeURIComponent(this.menu.id) + "=([01]+)"); var match = regex.exec(document.cookie); if (match) { var states = match[1].split(""); for (var i = 0; i < states.length; i++) this.submenus[i].className = (states[i] == 0 ? "collapsed" : ""); } } }; SDMenu.prototype.toggleMenu = function(submenu) { if (submenu.className == "collapsed") this.expandMenu(submenu); else this.collapseMenu(submenu); }; SDMenu.prototype.expandMenu = function(submenu) { var fullHeight = submenu.getElementsByTagName("span")[0].offsetHeight; var links = submenu.getElementsByTagName("a"); for (var i = 0; i < links.length; i++) fullHeight += links[i].offsetHeight; var moveBy = Math.round(this.speed * links.length); var mainInstance = this; var intId = setInterval(function() { var curHeight = submenu.offsetHeight; var newHeight = curHeight + moveBy; if (newHeight < fullHeight) submenu.style.height = newHeight + "px"; else { clearInterval(intId); submenu.style.height = ""; submenu.className = ""; mainInstance.memorize(); } }, 30); this.collapseOthers(submenu); }; SDMenu.prototype.collapseMenu = function(submenu) { var minHeight = submenu.getElementsByTagName("span")[0].offsetHeight; var moveBy = Math.round(this.speed * submenu.getElementsByTagName("a").length); var mainInstance = this; var intId = setInterval(function() { var curHeight = submenu.offsetHeight; var newHeight = curHeight - moveBy; if (newHeight > minHeight) submenu.style.height = newHeight + "px"; else { clearInterval(intId); submenu.style.height = ""; submenu.className = "collapsed"; mainInstance.memorize(); } }, 30); }; SDMenu.prototype.collapseOthers = function(submenu) { if (this.oneSmOnly) { for (var i = 0; i < this.submenus.length; i++) if (this.submenus[i] != submenu && this.submenus[i].className != "collapsed") this.collapseMenu(this.submenus[i]); } }; SDMenu.prototype.expandAll = function() { var oldOneSmOnly = this.oneSmOnly; this.oneSmOnly = false; for (var i = 0; i < this.submenus.length; i++) if (this.submenus[i].className == "collapsed") this.expandMenu(this.submenus[i]); this.oneSmOnly = oldOneSmOnly; }; SDMenu.prototype.collapseAll = function() { for (var i = 0; i < this.submenus.length; i++) if (this.submenus[i].className != "collapsed") this.collapseMenu(this.submenus[i]); }; SDMenu.prototype.memorize = function() { if (this.remember) { var states = new Array(); for (var i = 0; i < this.submenus.length; i++) states.push(this.submenus[i].className == "collapsed" ? 0 : 1); var d = new Date(); d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000)); } };

  • JavaScriptエラーについて

    お世話になります。 おわかりになる方、ぜひ教えてください。 タブメニューのボタンを押すと、内容が切り替わるというJavaScriptなのですが、いちよう正常に動作はしているようなのですが、エラーがでてしまいます。 エラーを無くしたいのですが、どうすればいのでしょうか? 【エラー内容】 'document.getElementById()'はNullまたはオブジェクトではありません。 【HTML】 <div id="javascript_tab_sample"> <ul> <li><a href="#W3C">W3C</a></li> <li><a href="#xhtml">xhtml</a></li> </ul> <dl id="w3c"> <p>内容1</p> </dl> <dl id="xhtml"> <p>内容2</p> </dl> </div> 【JavaScript】 window.onload=function() { tab.setup = { tabs: document.getElementById('tab').getElementsByTagName('li'), pages: [ document.getElementById('w3c'), document.getElementById('xhtml') ] } tab.init(); } /*--setup end--*/ var tab = { init: function(){ var tabs = this.setup.tabs; var pages = this.setup.pages; for(i=0; i<pages.length; i++) { if(i !== 0) pages[i].style.display = 'none'; tabs[i].onclick = function(){ tab.showpage(this); return false; }; } }, showpage: function(obj){ var tabs = this.setup.tabs; var pages = this.setup.pages; var num; for(num=0; num<tabs.length; num++) { if(tabs[num] === obj) break; } for(var i=0; i<pages.length; i++) { if(i == num) { pages[num].style.display = 'block'; tabs[num].className = 'selected'; } else{ pages[i].style.display = 'none'; tabs[i].className = null; } } } } よろしくお願いします。

  • 文字の置換?

    http://php.eweb-design.com/1301_mail.html さんから 文字コードEUC版をダウンロードさせいていただて、フォーム作成の勉強をしているのですが、疑問に思う点がいくつかあります。 if($esse == 1) { $flag = 0; $length = count($eles) - 1; foreach($_POST as $key=>$var) { $key = strtr($key, $string_from, $string_to); if($var == "eweb_submit") ; else { for($i=0; $i<=$length; $i++) { if($key == $eles[$i] && empty($var)) { $errm .= "<FONT color=#ff0000>「".$key."」は必須入力項目です。</FONT><BR>\n"; $flag = 1; } } } } の部分の $key = strtr($key, $string_from, $string_to); のところなのですが、$keyに含まれる文字から$string_fromを検索し$string_toに置換することだと思うのですが、、、$string_fromも$string_toも どこの記述を見ても文字列が代入されていません。 過去ログを見ると http://oshiete1.goo.ne.jp/qa3140724.html?ans_count_asc=2 // 文字の置き換え $string_from = "\"; $string_to = "ー"; のような記述があるようなのですが、私がダウンロードしたファイルにはありません。どなたか詳しい方がいらしたら教えてください。 あと、 //--- メールのレイアウトの編集 --- 開始 -------------------> $body="「".$sbj."」からの発信です\n\n"; $body.="-------------------------------------------------\n\n"; foreach($_POST as $key=>$var) { $key = strtr($key, $string_from, $string_to); if($var == "eweb_submit") ; else $body.="[".$key."] ".$var."\n"; } $body.="\n-------------------------------------------------\n\n"; $body.="送信日時:".date( "Y/m/d (D) H:i:s", time() )."\n"; $body.="ホスト名:".getHostByAddr(getenv('REMOTE_ADDR'))."\n\n"; //--- 終了 ---> というところで、 if($var == "eweb_submit") ; else $body.="[".$key."] ".$var."\n"; のようにifのあとにすぐelseがきているのはどうしてですか? まったくの初心者で、申し訳ないですが、 どうぞ、よろしくお願いいたします。

    • ベストアンサー
    • PHP