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
Shawn Porter added
DeMoronize
3 hour(s) ago
Chris Carey added
readPropertiesFi...
1 day(s) ago
Randy Johnson added
lastDayofWeek
3 day(s) ago
Frank Marion added
sitemapPing
7 day(s) ago
Top Rated
QuickSort
Rated 5.0, 3 time(s)
indentXml
Rated 5.0, 3 time(s)
queryColumnsToSt...
Rated 5.0, 3 time(s)
generateSsccAsn
Rated 5.0, 3 time(s)