Ga naar inhoud

URLs markeren in tekstvelden


Marsau

Aanbevolen berichten

Geplaatst:

In het verlengde van mijn eerder tip (URLs klikbaar maken in tekstvelden) bijgaand een nieuwe: URL's markeren in tekstvelden. Na wat rommelen vandaag een nieuwe CF gemaakt die precies doet wat we hier willen. Geen rocket-science, maar wel superhandig om een wat meer complete gebruikerservaring neer te zetten direct in een FileMaker tekst-veld.

Bijgaande custom-functie zou moeten worden opgehangen aan een scripttrigger bij verlaten veld, of met een auto-enter (niet getest).

Alle URLs worden opgemaakt conform de opgemaakte kleur.

 

Let ( 
[ input = Get(InhoudActiefVeld)
; rgb_code = RGB ( 0 ; 0 ; 250 ) // wijzig naar smaak...
; underlined = True // URLs wel/niet onderstrepen...
; urllist  = 
// de lijst van URLs in de opgegeven content
While ( 
[ content = input
; content = Substitute ( content  ;  [ " " ; ¶ ]  )  // end Substitute 
; q = ValueCount ( content )
; i = 1
; allowedprotocols = "http¶https¶ftp¶fmp¶fmnet¶ftps¶webdav¶evernote¶file"
; result = ""
] ;

 i ≤ q ; 

[ probe = GetValue ( content; i )
; protocol = Let ( p = Position ( probe ; ":/" ; 1 ; 1 ); If ( p = 0; ""; Left ( probe; p - 1 ) ) )
; result = List ( result; If ( FilterValues ( allowedprotocols ; protocol ) ≠ ""; probe; ""  ))
; i = i + 1
];

result

)  // end While 1

; formatted_text = 

While ( 
[ result = input 
; urllist = urllist 
; i = 1
; q = ValueCount ( result )
] ;
 i ≤ q ; 

[ probe = GetValue ( urllist; i )
; styled_probe = TextColor ( probe ; rgb_code )
; styled_probe = If ( underlined; TextStyleAdd ( styled_probe ; Onderstreept ); styled_probe )
; result = Substitute ( result ; probe ; styled_probe )
; i = i + 1

] 

; result

)   // end While

] ;

formatted_text


) // end Let

 

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Antwoord op deze discussie...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...