CFLib.org – Common Function Library Project

FullLeft(str, count)

Last updated April 16, 2002
Download UDF

author

Marc Esher                                        Marc Esher

Version: 2 | Requires: ColdFusion 5 | Library: StrLib

 
Rated 20 time(s). Average Rating: 1.3

Description:
An enhanced version of left() that doesn't cut words off in the middle; instead, it searches backward until it finds a full word.

Return Values:
Returns a string.

Example:

<cfset text="You wouldn't see words chopped in half on the front page of the New York Times">

<cfoutput>
Full String: #text#<BR>
FullLeft(text, 25): #fullLeft(text, 25)#<BR>
FullLeft(text, 34): #fullLeft(text, 34)#<BR>
</cfoutput>

Parameters:

Name Description Required
str String to be checked. Yes
count Number of characters from the left to return. Yes

Full UDF Source:

<cfscript>
/**
* An enhanced version of left() that doesn't cut words off in the middle.
* Minor edits by Rob Brooks-Bilson (rbils@amkor.com) and Raymond Camden (rbils@amkor.comray@camdenfamily.com)
*
* Updates for version 2 include fixes where count was very short, and when count+1 was a space. Done by RCamden.
*
* @param str      String to be checked.
* @param count      Number of characters from the left to return.
* @return Returns a string.
* @author Marc Esher (rbils@amkor.comray@camdenfamily.comjonnycattt@aol.com)
* @version 2, April 16, 2002
*/

function fullLeft(str, count) {
    if (not refind("[[:space:]]", str) or (count gte len(str)))
        return Left(str, count);
    else if(reFind("[[:space:]]",mid(str,count+1,1))) {
         return left(str,count);
    } else {
        if(count-refind("[[:space:]]", reverse(mid(str,1,count)))) return Left(str, (count-refind("[[:space:]]", reverse(mid(str,1,count)))));
        else return(left(str,1));
    }
}
</cfscript>

Search CFLib.org


Latest Additions

Ryan Thompson-Jewell Ryan Thompson-Jewell added
ListSplit
1 day(s) ago

Nathan Dintenfass Nathan Dintenfass added
RowsToColumns
1 day(s) ago

Barney Boisvert Barney Boisvert added
indentXml
2 day(s) ago

Barney Boisvert Barney Boisvert added
REReplaceCallbac...
2 day(s) ago

Top Rated

Rob Brooks-Bilson                                 FolderSize
Rated 5.0, 7 time(s)

Nick Giovanni                                     UniqueValueList
Rated 5.0, 5 time(s)

James Sleeman                                     QuickSort
Rated 5.0, 3 time(s)

Jeff Howden ListDeleteDuplic...
Rated 5.0, 3 time(s)

Created by Raymond Camden / Design by Justin Johnson