・ ・ ・ ・ ・ ・ ・ ・ ・ ・  前へ←→次へトップへ戻る
その4. 好きな文字数で改行する!ハート型に改行しちゃおう!

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

あああああああああ


結果のサンプル
1. テキストを入力してみて。→
 ※553文字以上でお願いします。
 ※改行せず、全角で。
 ※入力してください。

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_2(form_br_3){
var text_src=form_br_3.text.value;

 var script1 ="03030230300300101070190700100101090150900100100120
               11121001300913100140071410016003161011600116001001
               01330010010231002001023100200103290030010329003001
               04270040010525005001052500500106230060010721007001
               08190080010917009001101501000111130110011211012001
               1309013001140701400115050150011603016001";

 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="600px";
var w_height="600px";
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} PRE{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)結果を出力する。

   ※数字は、ハート型を作るパターンです。
   ※次のように作成しましたので参考にしてみてください。
   ※自由なカタチがつくれますよー。
    ・5ケタの繰り返しになってます。
    ・はじめの2ケタが、「空白の数」
    ・つぎの2ケタが、「文字の数」
    ・つぎの1ケタは、「0=改行しない/1=改行する」
     例「12051」
     =12個の空白を入れる、5個の文字を入れる、改行する
    ・これを繰り返して並べます。

ソース(呼び出し側)

<FORM NAME="form_br_3" >

<TABLE><TR>
<TD>
1. テキストを入力してみて。→<BR>
 ※553文字以上でお願いします。<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_2(this.form)"><BR>
</TD></TR>
</TABLE>
</FORM>
	

	

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