« Fixing a broken time … | Home | What a week »

Text to Webviewer Script for FileMaker

Today we got a handy script to convert text to html for the webviewer with clickable links:



The script looks like this:

Set Variable [ $text ; Value: Text To WebViewer::Text ]
Set Variable [ $html ; Value: MBS( "Text.EncodeToHTML"; $text ) ]
Set Variable [ $html ; Value: MBS( "RegEx.ReplaceAll"; $html; "(http|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?"; "<a href=\"\0\" target=\"_blank\">\0</a>"; "Caseless¶greedy") ]
Set Variable [ $html ; Value: MBS( "Text.ReplaceNewline"; $html; 4 ) ]
Set Variable [ $html ; Value: "<html><body><p>" & $html & "</p></body></html>" ]
Set Field [ Text To WebViewer::HTML ; $html ]
Set Web Viewer [ Object Name: "web" ; URL: "data:text/html;charset=utf-8;base64," & Base64Encode ( $html ) ]

As you see, we use Text.EncodeToHTML to encode any special characters as html entities. Than we use a regular expression to find all links and make them clickable. Next we replace the line endings and load the html into the web viewer with a data URL.

This works fine for MacOS and Windows. You can even put it on the FileMaker Server and use it for Web Direct.
For iOS, you may need to have plugin in your own iOS app or do the processing via PSoS. Finally you can load html to web viewer on iOS.
22 02 19 - 10:41