{"id":70464,"date":"2025-11-08T03:01:00","date_gmt":"2025-11-07T17:01:00","guid":{"rendered":"https:\/\/www.rjmprogramming.com.au\/ITblog\/?p=70464"},"modified":"2025-11-07T18:55:10","modified_gmt":"2025-11-07T08:55:10","slug":"synonymous-with-delimitation-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/synonymous-with-delimitation-primer-tutorial\/","title":{"rendered":"Synonymous With Delimitation Primer Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Synonymous With Delimitation Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/delimitation_synonymous.gif\" title=\"Synonymous With Delimitation Primer Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Synonymous With Delimitation Primer Tutorial<\/p><\/div>\n<p>We make inhouse rules regarding our Apache\/PHP HTML web applications around here, at RJM Programming, quite often with the focus on &#8230;<\/p>\n<blockquote><p>\ndelimitation\n<\/p><\/blockquote>\n<p> &#8230; rules and our favourite delimitation character is probably the comma ( ie. , ) when it comes to data.  Think &#8220;comma separated values&#8221; data, that can go on to be a spreadsheet &#8230; that sort of thinking.<\/p>\n<p>The work of the recent <a target=\"_blank\" href='https:\/\/www.rjmprogramming.com.au\/ITblog\/youtube-api-caller-radio-play-playlist-songname-search-list-repeats-tutorial\/' title='YouTube API Caller Radio Play Playlist Songname Search List Repeats Tutorial' rel=\"noopener\">YouTube API Caller Radio Play Playlist Songname Search List Repeats Tutorial<\/a> regarding web browser address bar comma related <i>typing<\/i> of that type of <i>data<\/i> has set us to thinking &#8230;<\/p>\n<blockquote><p>\nCan we extend this thinking?\n<\/p><\/blockquote>\n<blockquote><p>\nCan we make synonymous some web applications with a <i>delimitation rule<\/i> so that around RJM Programming URLs that end up on the address bar, these having no arguments of their own, if appended to, that are (non-argumentative) words typed to match with a delimitation pattern our RJM Programming 404.shtml can detect and redirect appropriately?\n<\/p><\/blockquote>\n<p>And something made us remember it is not just &#8220;,&#8221; (synonymous with <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html\" rel=\"noopener\">Tabular Single Row Media Gallery<\/a> web application) that could be involved with the, so far just, &#8220;comma&#8221; based logics, it&#8217;s the &#8221;  ,  &#8221; (ie. 2 spaces comma two spaces) rules of our inhouse <a target=\"_blank\" title='Video Commentary' href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/video_commentary.html' rel=\"noopener\">Video Commentary<\/a> (and\/or if prefixed by &#8221;  ,  &#8221; our inhouse <a target=\"_blank\" title='Song Lyric Faux Pas' href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/song_lyric_faux_pas.html' rel=\"noopener\">Song Lyric Faux Pas<\/a>) SubRip subtitles <a target=\"_blank\" title='YouTube API for Iframe embedded videos' href='https:\/\/developers.google.com\/youtube\/iframe_api_reference' rel=\"noopener\">YouTube API<\/a> facing web application(s) <font size=1>(last talked about with <a target=\"_blank\" title='YouTube SubRip Subtitles Emoji Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/youtube-subrip-subtitles-emoji-tutorial\/' rel=\"noopener\">YouTube SubRip Subtitles Emoji Tutorial<\/a>)<\/font> that can <i>enter the mix<\/i> here too.<\/p>\n<p>And because there are two delimitation rules (both comma based ones) so far here, we start today, not only &#8230;<\/p>\n<ul>\n<li>setting up a <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html\" rel=\"noopener\">Tabular Single Row Media Gallery<\/a> web application based bracket (ie. relevant strings have to start with { or [ or { and end with } or ] or } respectively) hosting system for it&#8217;s new playlist defining keyboard logic capabilities &#8230;<br \/>\n<code><br \/>\n function onkd(e) {<br \/>\n   var charx = e.which || e.keyCode;<br \/>\n   if (String.fromCharCode(eval('' + charx)) &gt;= '1' && String.fromCharCode(eval('' + charx)) &lt;= '8' && okdsofar == '') {<br \/>\n     endmatch='';<br \/>\n     document.getElementById('fplaythft').style.border='3px dotted green';<br \/>\n     document.getElementById('fplaythft').title+=' ... fired up ' + firedup[eval('' + String.fromCharCode(eval('' + charx)))].replace(\/^Yacht\\ \/g,'Yacht++ ');<br \/>\n     maybeinplayscenario=maybeso(true);<br \/>\n     genreideas(String.fromCharCode(eval('' + charx)));<br \/>\n     maybeinplayscenario=false;<br \/>\n   } else if (String.fromCharCode(eval('' + charx)) == ',' && okdsofar == '') {<br \/>\n     okdsofar+=String.fromCharCode(eval('' + charx));<br \/>\n     endmatch='';<br \/>\n   } else if (String.fromCharCode(eval('' + charx)) == '~' && okdsofar == '') {<br \/>\n     okdsofar+=',';<br \/>\n     endmatch='';<br \/>\n   } else if (String.fromCharCode(eval('' + charx)) == '`' && okdsofar == '') {<br \/>\n     okdsofar+=',';<br \/>\n     endmatch='';<br \/>\n   } else if (String.fromCharCode(eval('' + charx)) == '(' && okdsofar == '') {<br \/>\n     endmatch=')';<br \/>\n     okdsofar+=',';<br \/>\n   } else if (String.fromCharCode(eval('' + charx)) == '[' && okdsofar == '') {<br \/>\n     okdsofar+=',';<br \/>\n     endmatch=']';<br \/>\n   } else if (String.fromCharCode(eval('' + charx)) == '{' && okdsofar == '') {<br \/>\n     okdsofar+=',';<br \/>\n     endmatch='}';<br \/>\n   } else if (String.fromCharCode(eval('' + charx)) &lt; '1' || String.fromCharCode(eval('' + charx)) &gt; '8' || okdsofar != '') {<br \/>\n     okdsofar+=String.fromCharCode(eval('' + charx));<br \/>\n     if (okdsofar.substring(0,1) == ',') {<br \/>\n     if ((endmatch == '' && (okdsofar.slice(-1) == '~' || okdsofar.slice(-1) == '`')) || okdsofar.slice(-1) == endmatch) {<br \/>\n     adbarpl=okdsofar.replace(\/^\\,\/g,'').replace(\/\\~$\/g,'').replace(\/\\`$\/g,'').replace(\/\\}$\/g,'').replace(\/\\]$\/g,'').replace(\/\\)$\/g,'');<br \/>\n     andgo=(adbarpl.toLowerCase().indexOf('notgo') != -1 ? false : true);<br \/>\n     okdsofar='';<br \/>\n     endmatch='';<br \/>\n     \/\/alert('andgo=' + andgo);<br \/>\n     createplaylist(null);<br \/>\n     return true;<br \/>\n     }<br \/>\n     } else {<br \/>\n     endmatch='';<br \/>\n     if (okdsofar.trim() != '' && okdsofar.trim() != okdsofar && okdsofar.toLowerCase() != 'solo ') {<br \/>\n     maybeinplayscenario=maybeso(true);<br \/>\n     genreideas(okdsofar.replace(\/^Mr\\ \/g,'Washington ').replace(\/^MR\\ \/g,'Washington ').replace(\/^mr\\ \/g,'Washington ').replace(\/^The\\ \/g,'wrecking ').replace(\/^THE\\ \/g,'wrecking ').replace(\/^the\\ \/g,'wrecking ').trim());<br \/>\n     maybeinplayscenario=false;<br \/>\n     okdsofar='';<br \/>\n     }<br \/>\n     }<br \/>\n   }<br \/>\n   setTimeout(function(){ document.getElementById('thev').innerHTML='V'; }, 20000);<br \/>\n   return true;<br \/>\n }<br \/>\n<\/code><br \/>\n &#8230; of <a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html-----------------------------------------GETME\" rel=\"noopener\">the changed<\/a> <a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html-----------------------------------------GETME\" rel=\"noopener\">swipe_media.html<\/a> <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html\" rel=\"noopener\">Tabular Single Row Media Gallery<\/a> web application &#8230; but also &#8230;<\/li>\n<li>it will redirect if it finds &#8221;  ,  &#8221; <font color=blue>related entries<\/font> &#8230;<br \/>\n<code><br \/>\n  function overprompt(blb, defvl) {<br \/>\n   var tdsare=[], itdone=false, baeis='', itds=0, lastpassesmustard=true;<br \/>\n   var oklast=['A','E','I','M','Q','U','Y','c','g','k','o','s','w','0','4','8'];<br \/>\n   var ivb=0;<br \/>\n   if (adbarpl != '') {<br \/>\n   outplist=adbarpl;<br \/>\n   adbarpl='';<br \/>\n   } else {<br \/>\n   outplist=prompt(blb, defvl);<br \/>\n   }<br \/>\n   <font color=blue>if (outplist != null) {<br \/>\n   if (outplist.indexOf('  ,  ') == 0 && outplist.replace(\/^\\ \\ \\,\\ \\ \/g,'').indexOf('  ,  ') != -1) {<br \/>\n      window.open('\/\/www.rjmprogramming.com.au\/HTMLCSS\/song_lyric_faux_pas.html?inlist=' + encodeURIComponent(outplist.replace(\/^\\ \\ \\,\\ \\ \/g,''),'_blank','top=55,left=55,height=600,width=600');<br \/>\n      outplist='';<br \/>\n      return '';<br \/>\n   } else if (outplist.indexOf('  ,  ') != -1) {<br \/>\n      window.open('\/\/www.rjmprogramming.com.au\/HTMLCSS\/video_commentary.html?inlist=' + encodeURIComponent(outplist.replace(\/^\\ \\ \\,\\ \\ \/g,''),'_blank','top=55,left=55,height=600,width=600');<br \/>\n      outplist='';<br \/>\n      return '';<br \/>\n   }<br \/>\n   }<\/font><br \/>\n\/\/ rest of overprompt(blb, defvl) logic follows<br \/>\n}<br \/>\n<\/code><br \/>\n &#8230; and with all this &#8230;<\/li>\n<li>regarding the RJM Programming 404.shtml &#8230;\n<ol>\n<li>it redirects for this too &#8230; and &#8230;<\/li>\n<li>it now works it that an RJM Programming URL, not a WordPress one (where a 404.php paradigm handles it&#8217;s error 404<sup>s<\/sup>), and not one with ? arguments can be scrutinized for these &#8220;Synonymous With Delimitation&#8221; web application redirecting ideas &#8230;<br \/>\n<code><br \/>\n  if (document.URL.indexOf('rjmprogramming.com.au\/HTMLCSS\/swipe_media.htm') != -1) {  \/\/ comma related ideas<br \/>\n    if (decodeURIComponent(document.URL).indexOf('  ,  ') != -1) {<br \/>\n      \/\/ Feed it to SubRip subtitles<br \/>\n      if (decodeURIComponent(document.URL.split('rjmprogramming.com.au\/HTMLCSS\/swipe_media.htm')[1].replace(\/^l\/g,'')).indexOf('  ,  ') == 0) {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/song_lyric_faux_pas.html?inlist=' + encodeURIComponent(decodeURIComponent(document.URL.split('rjmprogramming.com.au\/HTMLCSS\/swipe_media.htm')[1].replace(\/^l\/g,'')).replace(\/^\\ \\ \\,\\ \\ \/g,'').replace(\/^\\%20\\%20\\%2C\\%20\\%20\/g,''));<br \/>\n      } else {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/video_commentary.html?inlist=' + encodeURIComponent(decodeURIComponent(document.URL.split('rjmprogramming.com.au\/HTMLCSS\/swipe_media.htm')[1].replace(\/^l\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'')));<br \/>\n      }<br \/>\n      exit;<br \/>\n    } else if (decodeURIComponent(document.URL).indexOf(',') != -1) {<br \/>\n      if (decodeURIComponent(document.URL.split('rjmprogramming.com.au\/HTMLCSS\/swipe_media.htm')[1].replace(\/^l\/g,'')).toLowerCase().indexOf('notgo') != -1) {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html?thelist=' + encodeURIComponent(decodeURIComponent(document.URL.split('rjmprogramming.com.au\/HTMLCSS\/swipe_media.htm')[1].replace(\/^l\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace('notgo','').replace('NOTGO','').replace('Notgo','')));<br \/>\n      } else {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html?andgo=y&thelist=' + encodeURIComponent(decodeURIComponent(document.URL.split('rjmprogramming.com.au\/HTMLCSS\/swipe_media.htm')[1].replace(\/^l\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'')));<br \/>\n      exit;<br \/>\n      }<br \/>\n    } else if (decodeURIComponent(document.URL.split('rjmprogramming.com.au\/HTMLCSS\/swipe_media.htm')[1].replace(\/^l\/g,'')).toLowerCase().indexOf('ask') != -1) {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html?ask=y';<br \/>\n      exit;<br \/>\n    }<br \/>\n  } else if (document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').indexOf('rjmprogramming.com.au\/') != -1) {<br \/>\n    var anybitstoignore='youll_never_ever_find_this';<br \/>\n    if (document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').substring(0,1).replace('+','%') == '%') {<br \/>\n      anybitstoignore='youll_never_ever_find_this';<br \/>\n    } else if (document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].split('%')[0].toLowerCase().replace('\/','~').replace('.htm','~').replace('.php','~').indexOf('~') != -1) {<br \/>\n      var maxfind=Math.max(eval('' + document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].split('%')[0].toLowerCase().indexOf('.htm')),eval('' + document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].split('%')[0].toLowerCase().indexOf('.php')), eval('' + document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].split('%')[0].toLowerCase().indexOf('\/')));<br \/>\n      if (maxfind != eval('' + document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].split('%')[0].toLowerCase().indexOf('\/'))) {<br \/>\n        if (maxfind == eval('' + document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].split('%')[0].toLowerCase().indexOf('.php'))) {<br \/>\n          maxfind+=4;<br \/>\n        } else if (maxfind == eval('' + document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].split('%')[0].toLowerCase().indexOf('.html'))) {<br \/>\n          maxfind+=5;<br \/>\n        } else {<br \/>\n          maxfind+=4;<br \/>\n        }<br \/>\n      } else {<br \/>\n        while (decodeURIComponent(document.URL.replace(anybitstoignore,'').split('rjmprogramming.com.au\/')[1].substring(maxfind)).indexOf('\/') != -1) {<br \/>\n          maxfind++;<br \/>\n        }<br \/>\n      }<br \/>\n      anybitstoignore=document.URL.replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].substring(0,maxfind);<br \/>\n    }<br \/>\n    if (decodeURIComponent(document.URL.replace(anybitstoignore,'')).indexOf('  ,  ') != -1) {<br \/>\n      \/\/ Feed it to SubRip subtitles<br \/>\n      if (decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].replace(\/^index\\.php\/g,'').replace(\/^index\\.html\/g,'').replace(\/^index\\.htm\/g,'')).indexOf('  ,  ') == 0) {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/song_lyric_faux_pas.html?inlist=' + encodeURIComponent(decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].replace(\/^index\\.php\/g,'').replace(\/^index\\.html\/g,'').replace(\/^index\\.htm\/g,'')).replace(\/^\\ \\ \\,\\ \\ \/g,'').replace(\/^\\%20\\%20\\%2C\\%20\\%20\/g,''));<br \/>\n      } else {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/video_commentary.html?inlist=' + encodeURIComponent(decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].replace(\/^index\\.php\/g,'').replace(\/^index\\.html\/g,'').replace(\/^index\\.htm\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'')));<br \/>\n      }<br \/>\n      exit;<br \/>\n    } else if (decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au\/').replace('.au%20','.au\/')).indexOf(',') != -1) {<br \/>\n      if (decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].replace(\/^index\\.php\/g,'').replace(\/^index\\.html\/g,'').replace(\/^index\\.htm\/g,'')).toLowerCase().indexOf('notgo') != -1) {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html?thelist=' + encodeURIComponent(decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].replace(\/^index\\.php\/g,'').replace(\/^index\\.html\/g,'').replace(\/^index\\.htm\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace('notgo','').replace('NOTGO','').replace('Notgo','')));<br \/>\n      } else {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html?andgo=y&thelist=' + encodeURIComponent(decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].replace(\/^index\\.php\/g,'').replace(\/^index\\.html\/g,'').replace(\/^index\\.htm\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'').replace(\/^\\%20\/g,'')));<br \/>\n      exit;<br \/>\n      }<br \/>\n    } else if (decodeURIComponent(document.URL.replace(anybitstoignore,'').replace('.au ','.au\/').replace('.au%20','.au\/').split('rjmprogramming.com.au\/')[1].replace(\/^index\\.php\/g,'').replace(\/^index\\.html\/g,'').replace(\/^index\\.htm\/g,'')).toLowerCase().indexOf('ask') != -1) {<br \/>\n      location.href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html?ask=y';<br \/>\n      exit;<br \/>\n    }<br \/>\n  }<br \/>\n<\/code>\n<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<p>See what we mean, in the table below &#8230;<\/p>\n<table>\n<tr>\n<th>Redirects to YouTube API Radio Play suiting <font size=1>(web browser address bar containing)<\/font> <font color=blue>Born to Run*4,Jungleland*3<\/font><\/th>\n<\/tr>\n<tr>\n<td><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.htmlBorn to Run*4,Jungleland*3\" rel=\"noopener\">YouTube API Radio Play of Born to Run*4,Jungleland*3<\/a><\/td>\n<\/tr>\n<tr>\n<th>Redirects to YouTube API Video Commentary suiting <font size=1>(web browser address bar containing)<\/font> <font color=blue>Born to Run*4  ,  Jungleland*3<\/font> &#8230; just calling &#8230; so far &#8230;<\/th>\n<\/tr>\n<tr>\n<td><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.htmlBorn to Run*4%20%20,%20%20Jungleland*3\" rel=\"noopener\">Video Commentary of Born of Run*4  ,  Jungleland*3<\/a><\/td>\n<\/tr>\n<tr>\n<th>Redirects to YouTube API Song Lyric Faux Pas suiting <font size=1>(web browser address bar containing)<\/font> <font color=blue>  ,  Born to Run*4  ,  Jungleland*3<\/font> &#8230; just calling &#8230; so far &#8230;<\/th>\n<\/tr>\n<tr>\n<td><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/HTMLCSS\/swipe_media.html%20%20,%20%20Born to Run*4%20%20,%20%20Jungleland*3\" rel=\"noopener\">Song Lyric Faux Pas of   ,  Born to Run*4  ,  Jungleland*3<\/a><\/td>\n<\/tr>\n<\/table>\n<p>Still to go, to go further, is to code within the SubRips for understanding a potential new incoming argument &#8230;<\/p>\n<p><code><br \/>\n?inlist=[encoded \"  ,  \" based data]<br \/>\n<\/code><\/p>\n<p> &#8230; based input, but that is for another day!<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d70464' onclick='var dv=document.getElementById(\"d70464\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/comma\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d70464' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>We make inhouse rules regarding our Apache\/PHP HTML web applications around here, at RJM Programming, quite often with the focus on &#8230; delimitation &#8230; rules and our favourite delimitation character is probably the comma ( ie. , ) when it &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/synonymous-with-delimitation-primer-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,12,14,29,37],"tags":[4159,52,1669,5275,1767,2535,5306,83,84,88,1885,103,113,5307,1703,177,181,1580,210,3533,2531,4191,5281,5279,2335,252,253,5278,257,2442,281,283,2127,1654,305,307,1606,2380,2276,2147,2310,327,341,1816,354,359,367,2091,1549,380,385,1605,5301,386,4077,5287,400,2678,1664,3081,513,520,3406,557,3961,564,576,587,590,599,4063,614,617,3695,620,2072,652,5280,673,1560,1807,705,710,5315,2415,2205,3870,760,2732,2122,1616,802,830,2355,2010,3987,2337,1919,3267,2723,875,884,2273,2076,894,5304,932,2858,950,2362,4321,1898,967,997,1915,3274,5305,5298,5299,2955,1063,1069,1893,3310,5303,1866,3169,1125,1126,1133,1168,1173,5302,2228,1200,2311,2001,1238,1581,1254,5276,1675,5277,1282,2167,3325,1292,1319,1345,1891,3575,1721,1369,2485,1404,2099,1418,1425,1583,1452,1622,2455,3098,4799,1493,2017],"class_list":["post-70464","post","type-post","status-publish","format-standard","hentry","category-ajax","category-elearning","category-event-driven-programming","category-operating-system","category-tutorials","tag-404-shtml","tag-absolute-url","tag-address-bar","tag-after","tag-album","tag-alphabetic","tag-alphabetical","tag-animated-gif","tag-animation-2","tag-api","tag-argument","tag-array","tag-audio","tag-authority","tag-breadcrumbs","tag-cache","tag-call","tag-cell","tag-class","tag-comma","tag-comma-separated-values","tag-compilation","tag-completion","tag-condition","tag-conditional","tag-connection","tag-console","tag-console-warn","tag-content","tag-contenteditable","tag-css","tag-csv","tag-cursor","tag-data-uri","tag-debug","tag-debugging","tag-decodeuricomponent","tag-delay","tag-delimitation","tag-delimiter","tag-details","tag-did-you-know","tag-display","tag-document-title","tag-dom","tag-double-click","tag-dropdown","tag-duration","tag-element","tag-email","tag-emoji","tag-encodeuricomponent","tag-encrypt","tag-encryption","tag-error-404","tag-error-414","tag-event","tag-genre","tag-global","tag-global-variable","tag-google","tag-google-chrome","tag-hands-free","tag-hashtag","tag-hashtagging","tag-hierarchy","tag-html","tag-iframe","tag-image","tag-img","tag-instance","tag-integration","tag-interactive","tag-interfacing","tag-internationalization","tag-itinerary","tag-javascript","tag-jump","tag-keyboard","tag-language","tag-link","tag-links","tag-list","tag-lleyton","tag-localstorage","tag-loop","tag-looping","tag-media","tag-mimetype","tag-moderation","tag-modularization","tag-module","tag-navigation","tag-not-found","tag-object-oriented-programming","tag-oncontextmenu","tag-onkeypress","tag-onmousedown","tag-ontouchdown","tag-ontouchmove","tag-oop","tag-opera","tag-option","tag-order","tag-overlay","tag-persistence","tag-php","tag-plan","tag-platform","tag-play","tag-play-button","tag-playlist","tag-popup","tag-programming","tag-progress","tag-recall","tag-recalling","tag-remember","tag-remembering","tag-repeat","tag-reveal","tag-right-click","tag-schedule","tag-scheduling","tag-scope","tag-select","tag-sessionstorage","tag-setinterval","tag-settimeout","tag-share","tag-software-integration","tag-sort","tag-sppech-to-text","tag-standing-order","tag-stop-press","tag-summary","tag-tab","tag-table","tag-table-cell","tag-text","tag-text-cursor","tag-textbox","tag-textual-cursor","tag-timer","tag-title","tag-toggle","tag-top","tag-tutorial","tag-url","tag-user","tag-user-input","tag-variable","tag-video","tag-visibility","tag-web-browser","tag-web-inspector","tag-webpage","tag-whitespace","tag-window","tag-word","tag-words","tag-wrap","tag-wrapper","tag-wrapping","tag-youtube","tag-youtube-api"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/70464"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=70464"}],"version-history":[{"count":16,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/70464\/revisions"}],"predecessor-version":[{"id":70485,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/70464\/revisions\/70485"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=70464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=70464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=70464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}