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
Raymond Camden added
romanToDecimal
3 day(s) ago
Joe Rinehart added
directoryCopy
4 day(s) ago
Marcos Placona added
arrayGroupsOf
4 day(s) ago
Mosh Teitelbaum added
formatListAsSeri...
25 day(s) ago
Top Rated
UniqueValueList
Rated 5.0, 5 time(s)
QuickSort
Rated 5.0, 3 time(s)
randStr
Rated 5.0, 3 time(s)
FolderSize
Rated 5.0, 3 time(s)