- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStringExtensions.vb
More file actions
Latest commit
158 lines (134 loc) · 6.77 KB
/
Copy pathStringExtensions.vb
File metadata and controls
158 lines (134 loc) · 6.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
'=========================================================
' WWWeb Concepts wwwebconcepts.com
' James W. Threadgill james@wwwebconcepts.com
' Copyright 2017
' Version 1.0.0.0
'=========================================================
ImportsSystem.Convert
ImportsSystem.Web.HttpContext
ImportsSystem.Text.RegularExpressions.Regex
PublicClassStringExtensions
'creates url slug from passed string
' From http://www.beansoftware.com/ASP.NET-FAQ/Create-Slug-From-Page-Title.aspx
PublicSharedFunctionToSlug(ByValSlugFieldAsString)AsString
DimSlugAsString=SlugField.ToLower()
' Replace - with empty space
Slug=Slug.Replace("-"," ")
' Replace unwanted characters with space
Slug=Replace(Slug,"[^a-z0-9\s-]"," ")
' Replace multple white spaces with single space
Slug=Replace(Slug,"\s+"," ").Trim()
' Replace white space with -
Slug=Slug.Replace(" ","-")
ReturnSlug
EndFunction
' Returns trimmed field
PublicOverloadsSharedFunctionTrimTextProperly(ByValFieldAsString,ByValLengthAsInteger,ByValProperlyAsBoolean,ByValPointedAsBoolean,ByValPointsAsString)AsString
DimstrReturnAsString
' clean the string of HTML, tabs, carriage returns and remove multiple, leading, and trailing spaces
strReturn=RemoveHTML(Field)
strReturn=strReturn.Replace(ToChar(13)," ")
strReturn=strReturn.Replace(ToChar(9)," ")
strReturn=Replace(strReturn,"\s+"," ").Trim()
If(Len(strReturn)>Length)Then
strReturn=Left(strReturn,Length)
IfProperlyThen
DimTempArrayAsArray=Split(strReturn," ")
DimnAsInteger
strReturn=""
Forn=0ToUBound(TempArray)-1
strReturn=strReturn&" "&TempArray(n)
Next
EndIf
IfPointedThen
strReturn=strReturn&Points
EndIf
EndIf
ReturnstrReturn
EndFunction
' Returns trimmed field with link at end
PublicOverloadsSharedFunctionTrimTextProperly(ByValFieldAsString,ByValLengthAsInteger,ByValProperlyAsBoolean,ByValPointedAsBoolean,ByValPointsAsString,ByValLinkPageAsString,ByValLinkTextAsString)AsString
DimstrReturnAsString
' clean the string of HTML, tabs, carriage returns and remove leading and trailing spaces
strReturn=RemoveHTML(Field)
strReturn=strReturn.Replace(ToChar(13)," ")
strReturn=strReturn.Replace(ToChar(9)," ")
strReturn=Replace(strReturn,"\s+"," ").Trim()
If(Len(strReturn)>Length)Then
strReturn=Left(strReturn,Length)
IfProperlyThen
DimTempArrayAsArray=Split(strReturn," ")
DimnAsInteger
strReturn=""
Forn=0ToUBound(TempArray)-1
strReturn=strReturn&" "&TempArray(n)
Next
EndIf
IfPointedThen
strReturn=strReturn&Points&(" <a href = """&LinkPage&""" > "&LinkText&"</a>")
Else
strReturn=strReturn&(" <a href = """&LinkPage&""" > "&LinkText&"</a>")
EndIf
EndIf
ReturnstrReturn
EndFunction
' Returns trimmed field with seach text higlighting and single link at end
PublicOverloadsSharedFunctionHighLightText(ByValFieldAsString,ByValLengthAsInteger,ByValProperlyAsBoolean,ByValPointedAsBoolean,ByValPointsAsString,ByValLinkPageAsString,ByValLinkTextAsString,QueryAsString,StyleClassAsString)AsString
DimstrReturnAsString
' clean the string of HTML, tabs, carriage returns and remove leading and trailing spaces
strReturn=RemoveHTML(Field)
strReturn=strReturn.Replace(ToChar(13)," ")
strReturn=strReturn.Replace(ToChar(9)," ")
strReturn=Replace(strReturn,"\s+"," ").Trim()
If(Len(strReturn)>Length)Then
strReturn=Left(strReturn,Length)
IfProperlyThen
DimTempArrayAsArray=Split(strReturn," ")
DimnAsInteger
strReturn=""
Forn=0ToUBound(TempArray)-1
strReturn=strReturn&" "&TempArray(n)
Next
EndIf
IfPointedThen
strReturn=HighlightText(strReturn,Query,StyleClass)&Points&(" <a href = """&LinkPage&""" > "&LinkText&"</a>")
Else
strReturn=HighlightText(strReturn,Query,StyleClass)&(" <a href = """&LinkPage&""" > "&LinkText&"</a>")
EndIf
EndIf
ReturnstrReturn
EndFunction
' Returns field with all search text matches highlighted and linked
PublicOverloadsSharedFunctionHighlightText(ByValFieldAsString,ByValQueryAsString,ByValStyleClassAsString,ByValLinkPageAsString)AsString
IfQuery=""ThenQuery="QXYZ"
DimstrReturnAsString=Field
DiminputAsString=Field
DimpatternAsString=Query
DimoptionsAsRegexOptions=RegexOptions.IgnoreCase
DimmatchAsMatch=Regex.Match(input,pattern,options)
Ifmatch.Length>0Then
DimstrHighlightAsString=match.Value.ToString
strReturn=Field.Replace(strHighlight,"<span class="""&StyleClass&"""><a href="""&LinkPage&Current.Server.UrlEncode(Query)&""">"&strHighlight&"</a></span>")
EndIf
ReturnstrReturn
EndFunction
' Returns field with search matches highlighted
PublicOverloadsSharedFunctionHighlightText(ByValFieldAsString,ByValQueryAsString,ByValStyleClassAsString)AsString
IfQuery=""ThenQuery="QXYZ"
DimstrReturnAsString=Field
DiminputAsString=Field
DimpatternAsString=Query
DimoptionsAsRegexOptions=RegexOptions.IgnoreCase
DimmatchAsMatch=Regex.Match(input,pattern,options)
Ifmatch.Length>0Then
DimstrHighlightAsString=match.Value.ToString
strReturn=Field.Replace(strHighlight,"<span class="""&StyleClass&""">"&strHighlight&"</span>")
EndIf
ReturnstrReturn
EndFunction
PublicSharedFunctionRemoveHTML(ByValFieldAsString)AsString
DimstrReturnAsString
strReturn=Replace(Field,"<[^>]*>"," ")
ReturnstrReturn
EndFunction
EndClass