・ ・ ・ ・ ・ ・ ・ ・ ・ ・  前へ←→次へトップへ戻る
その3. 好きな文字数で改行する!好きなカタチに改行しちゃおう!

※どうせだから、  変わったカタチに改行できた方が面白いと思ったので、ちょっと実験。
※目標:テキストを、自動でいろんなカタチに整形できることを目指します。

あああああああああ

  あ
 あああ
あああああ

結果のサンプル
1. テキストを入力します。
 ※改行せず入力してください。
 ※全角で入力してください。

2. 改行を実行します。


ソース(スクリプト側) <HEAD>〜</HEAD>の中に入れましょう。
<SCRIPT>
function MakeArray(n){
 this.length=n;
}

function script2(factor_s,factor_t,factor_br){
 this.factor_s=factor_s;
 this.factor_t=factor_t;
 this.factor_br=factor_br;
}

function br_wonder_1(form_br_3){
var text_src=form_br_3.text.value;

 var script1 ="020110103100051";
 var script_length=script1.length;
 var s=new MakeArray(script_length/5);
for(i=1;i<=script_length/5;i++){
i1=5*(i-1);
i2=5*(i-1)+2;
i3=5*(i-1)+2;
i4=5*(i-1)+4;
i5=5*(i-1)+4;
i6=5*(i-1)+5;
 s[i]=new script2(script1.substring(i1,i2)*1,
                  script1.substring(i3,i4)*1,
                  script1.substring(i5,i6)*1);
} 

 var text_length=9;
 var text_num1=0;
 var text_num2;
 var text_stock="";


for(j=1;j<=script_length/5;j++){
	for(k=1;k<=s[j].factor_s;k++){text_stock=text_stock+" ";}
	text2=text_num1+s[j].factor_t;
	text_stock=text_stock+text_src.substring(text_num1,text2);
	text_num1=text_num1+s[j].factor_t;
	if(s[j].factor_br==1){
		text_stock=text_stock+"<BR>";}
}

var w_width="150px";
var w_height="150px";
var w_name="ttt";
detail="width="+w_width+",height="+w_height+",scrollbars=no, menuber=no";
new_window=window.open("",w_name,detail);
new_window.focus();

	var newContent = "<HTML><HEAD><TITLE></TITLE>";
	newContent += "<LINK REL=STYLESHEET HREF=../style_1.css TYPE=text/css>";
	newContent += "<STYLE>";
	newContent += "BODY { margin: 10} TEXT{font-size:10pt;}";
	newContent += "</STYLE>";
	newContent += "</HEAD><BODY bgcolor=white leftmargin=0
			topmargin=0 marginwidth=0 marginheight=0>";
	newContent += "<TABLE cellpadding=1 cellspacing=0 bgcolor=#000000
			width=102px>
			<TR><TD>";
	newContent += "<TABLE cellpadding=5 cellspacing=0>
			<TR><TD bgcolor=#008bec width=100px>
			<SPAN style=color:#ffffff;>結果</SPAN>
			</TD></TR><TR><TD bgcolor=#ffffff width=100px>";
	newContent += "<pre>"+text_stock+"</pre>";
	newContent += "</TD></TR></TABLE>";
	newContent += "</TD></TR></TABLE>";
	newContent += "</BODY></HTML>";
	new_window.document.write(newContent);
	new_window.document.close();
}
</SCRIPT>

 次のような処理をしています。
 (1)読み込んだ文字数をカウントする。
 (2)文字数を、指定した改行幅で割る。
 (3)割り切れる分だけ、テキストを文字幅で区切る。
 (4)余った文字を、最後に加える。
 (5)結果を出力する。
ソース(呼び出し側)

<FORM NAME="form_br_3" >

<TABLE><TR>
<TD>
1. テキストを入力します。<BR>
  ※改行せず入力してください。<BR>
  ※全角で入力してください。<BR>
</TD><TD>
<TEXTAREA name="text" value="" rows="5" cols="50">あいうえおかきくけ
</TEXTAREA><BR>
</TD></TR>

<TR><TD>
2. 改行を実行します。
</TD><TD>
<INPUT type="button" NAME="prompt" VALUE="改行ボタン"
 onClick="br_wonder_1(this.form)">
<INPUT type="button" NAME="prompt" VALUE="改行ボタン(実況説明付)"
 onClick="br_wonder_11(this.form)">
</TD></TR>
</TABLE>
</FORM>
	

	

・・・・・・・・・・>もどる。