unIndent(str)
Last updated March 7, 2009
Version: 0 | Requires: ColdFusion 5 | Library: StrLib
Description:
Removes unnecessary leading tabs or spaces (whitespace chars) from each line of a string, preserving the formatting while flushing the string left. It is basically a block un-indent (like your IDE probably does with shift-tab).
Return Values:
returns a string
Example:
<cfsavecontent variable="str">
<tag>
<child>
</tag>
</cfsavecontent>
<cfoutput>#htmlCodeFormat(unIndent(str))#</cfoutput>
</pre>
Parameters:
| Name | Description | Required |
|---|---|---|
| str | String to be modified | Yes |
Full UDF Source:
<cfscript>
/**
* Un-indents strings but preserves formatting
*
* @param str String to be modified (Required)
* @return returns a string
* @author Nathan Strutz (strutz@gmail.com)
* @version 0, March 7, 2009
*/
function unIndent(str) {
var lines = str.split("\n");
var i = 0;
var minSpaceDist = 9999;
var newStr = "";
for(i=1; i lte arrayLen(lines); i=i+1) {
if (len(trim(lines[i]))) {
minSpaceDist = max( min(minSpaceDist, reFind("[\S]",lines[i])-1), 0);
}
}
for(i=1; i lte arrayLen(lines); i=i+1) {
newStr = newStr & removeChars(lines[i], 1, minSpaceDist) & chr(10);
}
return newStr;
}
</cfscript>
Search CFLib.org
Latest Additions
Tayo Akinmade added
arrayTrim
3 day(s) ago
Will Belden added
longTime
9 day(s) ago
James Sleeman added
quickSort
19 day(s) ago
Ben Forta added
GetHostAddress
22 day(s) ago
Top Rated
EksporSQLData
Rated 5.0, 16 time(s)
backupDatabase
Rated 5.0, 13 time(s)
indentXml
Rated 5.0, 10 time(s)
generateSsccAsn
Rated 5.0, 4 time(s)