Membuang Extra White Spaces dan Line Breaks – Bagian 2


Lanjutan dari posting yang dulu. Kali ini dengan menggunakan CustomTags.


Misalkan CustomTags ini kita beri nama trim.cfm.

<cfparam name="attributes.enable" default="true">

<cfif not thisTag.hasEndTag>
	
	<cfabort showError="You must close the tag">
	
</cfif>

<cfif thisTag.executionMode is "End">
	
	<cfif attributes.enable>
		
		<cfset thisTag.generatedContent = REReplace(thisTag.generatedContent, "[[:cntrl:]]{2,}", "", "ALL")>
		
	</cfif>
	
</cfif>

Contoh penggunaannya sebagai berikut:

<cf_trim>

<cfoutput>

<ol>

<cfloop from="1" to="12" index="loopIndex">
	
	<li>
		#MonthAsString(loopIndex)#
	</li>

</cfloop>

</ol>
	
</cfoutput>

</cf_trim>

Outputnya seperti ini (191 byte):

<ol><li>January</li><li>February</li><li>March</li><li>April</li><li>May</li><li>June</li><li>July</li><li>August</li><li>September</li><li>October</li><li>November</li><li>December</li></ol>

Bandingkan jika tidak menggunakan CustomTags ini, atau menggunakan attribute enable=”false” (lihat baris 1):

<cf_trim enable="false">

<cfoutput>

<ol>

<cfloop from="1" to="12" index="loopIndex">
	
	<li>
		#MonthAsString(loopIndex)#
	</li>

</cfloop>

</ol>
	
</cfoutput>

</cf_trim>

Akan menghasilkan output (407 byte):

<ol>


	
	<li>
		January
	</li>


	
	<li>
		February
	</li>


	
	<li>
		March
	</li>


	
	<li>
		April
	</li>


	
	<li>
		May
	</li>


	
	<li>
		June
	</li>


	
	<li>

		July
	</li>


	
	<li>
		August
	</li>


	
	<li>
		September
	</li>


	
	<li>
		October
	</li>


	
	<li>
		November
	</li>


	
	<li>

		December
	</li>



</ol>

Harap berhati-hati menggunakan CustomTags ini jika di halaman tersebut ada JavaScriptnya, contohnya:

<cf_trim enable="true">

<cfoutput>

<script>
var satu = 1;
var dua = 2;
var tiga = 3;
</script>
	
</cfoutput>

</cf_trim>

Akan menghasilkan output:

<script>var satu = 1;var dua = 2;var tiga = 3;</script>

Jika kita menggunakan single line comment seperti contoh ini:

<cf_trim enable="true">

<cfoutput>

<script>
var satu = 1;
// single line comment
var dua = 2;
var tiga = 3;
</script>
	
</cfoutput>

</cf_trim>

Akan menghasilkan output

<script>var satu = 1;// single line commentvar dua = 2;var tiga = 3;</script>

Yang artinya hanya akan ada variable satu, sedangkan variable dua dan tiga dianggap bagian dari comment tersebut.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: