{"id":54526,"date":"2022-01-06T03:01:48","date_gmt":"2022-01-05T17:01:48","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=54526"},"modified":"2022-01-07T08:56:50","modified_gmt":"2022-01-06T22:56:50","slug":"emoji-borders-and-backgrounds-image-text-parent-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/emoji-borders-and-backgrounds-image-text-parent-tutorial\/","title":{"rendered":"Emoji Borders and Backgrounds Image Text Parent Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Emoji Borders and Backgrounds Image Text Parent Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background_more.jpg\" title=\"Emoji Borders and Backgrounds Image Text Parent Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Emoji Borders and Backgrounds Image Text Parent Tutorial<\/p><\/div>\n<p>Today&#8217;s work continues on from yesterday&#8217;s <a title='Emoji Borders and Backgrounds for Image Tutorial' href='#ebbit'>Emoji Borders and Backgrounds for Image Tutorial<\/a> combining both &#8230;<\/p>\n<ul>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php-GETME\">inline_svg.php<\/a> underlying PHP <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg\">live run<\/a> (<a href='#ebb'>or in iframe<\/a>) &#8230; modelled under &#8230;<\/li>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html--GETME\" title=\"emoji_border_background.html\">today&#8217;s changed<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html--GETME\">emoji_border_background.html<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html\">HTML Parent<\/a><\/li>\n<\/ul>\n<p> &#8230; partnership during testing.  Our final aim is to make the &#8220;underlying PHP&#8221; a proper standalone tool, but &#8220;that&#8217;s a ways off&#8221;, as they say.  Why this extra level of complication?  It&#8217;s easier to &#8230;<\/p>\n<ul>\n<li>see<\/li>\n<li>test<\/li>\n<li>debug (via web browser web inspectors)<\/li>\n<\/ul>\n<p> &#8230; the functionalities that would be &#8220;cool&#8221; at the HTML\/Javascript\/CSS parent side, and then work out how to implement similar functionality, as possible, in SVG, and if possible, we should be able to pass arguments over to the &#8220;PHP tool&#8221; to eventually code it to be standalone to help other &#8220;parenting arrangements&#8221;.<\/p>\n<p>And so, today, we &#8220;get functional&#8221; the combination of parental control through to PHP SVG child display &#8230;<\/p>\n<blockquote><p>\nOptionally enter an image URL ( as needs be, suffix by &#038;width=[preferredWidth]&#038;height=[preferredHeight] and\/or &#038;background=y ) and\/or # prefixed comma separated list of emoji HTML decimal Entity(s) ( eg. #127462,127465 ) ?  Cancel if it is wording you want to change to the left there.\n<\/p><\/blockquote>\n<ul>\n<li>emoji border &#8230; now with content control via comma separated list of emoji HTML decimal Entity(s) &#8230; argumented to PHP tool<\/li>\n<li>emoji background &#8230; now with content control via comma separated list of emoji HTML decimal Entity(s) &#8230; argumented to PHP tool<\/li>\n<li>centralized text (in foreground) &#8230; now with wording control via HTML span contenteditable=true elements &#8230; not yet argumented to PHP tool<\/li>\n<li>centralized image (in foreground) &#8230; including some width and height control &#8230; argumented to PHP tool<\/li>\n<\/ul>\n<p><code><br \/>\n function ask(sois) {<br \/>\n   var huhi=prompt('Optionally enter an image URL ( as needs be, suffix by &width=[preferredWidth]&height=[preferredHeight] and\/or &background=y ) and\/or # prefixed comma separated list of emoji HTML decimal Entity(s) ( eg. #127462,127465 ) ?  Cancel if it is wording you want to change to the left there.','');<br \/>\n   if (huhi == null) { huhi=''; }<br \/>\n   if (huhi.trim() != '') {<br \/>\n     if (document.URL.indexOf('rjmprogramming.com.au') == -1 && sois.title.indexOf('rjmprogramming.com.au') != -1) {<br \/>\n       sois.title=document.URL.substring(0,8) + document.URL.substring(8).split('\/')[0] + sois.title.split('rjmprogramming.com.au')[1];<br \/>\n     }<br \/>\n     if (huhi.indexOf('#') != -1) {<br \/>\n       var huhis=huhi.split('#')[1];<br \/>\n       for (var ihuhis=0; ihuhis&lt;huhis.length; ihuhis++) {<br \/>\n         if (eval('' + ihuhis) &lt; eval('' + huhis.length)) {<br \/>\n           if (huhis.substring(ihuhis).substring(0,1).replace('0','').replace('1','').replace('2','').replace('3','').replace('4','').replace('5','').replace('6','').replace('7','').replace('8','').replace('9','').replace(',','') != '') {<br \/>\n            huhi=huhi.replace('#' + huhis.split(huhis.substring(ihuhis).substring(0,1))[0], '');<br \/>\n            huhis=huhis.split(huhis.substring(ihuhis).substring(0,1))[0];<br \/>\n           }<br \/>\n         }<br \/>\n       }<br \/>\n       if (huhis == '') {<br \/>\n         if (sois.title.indexOf('?insvg=') != -1) {<br \/>\n           sois.title=sois.title.replace('?insvg=' + sois.title.split('?insvg=')[1].split('&')[0].split('#')[0],'');<br \/>\n         } else if (sois.title.indexOf('&insvg=') != -1) {<br \/>\n           sois.title=sois.title.replace('&insvg=' + sois.title.split('&insvg=')[1].split('&')[0].split('#')[0],'');<br \/>\n         }<br \/>\n       } else if (sois.title.indexOf('?insvg=') != -1) {<br \/>\n         sois.title=sois.title.replace('?insvg=' + sois.title.split('?insvg=')[1].split('&')[0].split('#')[0],'?insvg=' + encodeURIComponent(huhis));<br \/>\n       } else if (sois.title.indexOf('&insvg=') != -1) {<br \/>\n         sois.title=sois.title.replace('&insvg=' + sois.title.split('&insvg=')[1].split('&')[0].split('#')[0],'&insvg=' + encodeURIComponent(huhis));<br \/>\n       } else if (sois.title.indexOf('?') != -1) {<br \/>\n         sois.title=sois.title.replace('?','?insvg=' + encodeURIComponent(huhis) + '&');<br \/>\n       } else {<br \/>\n         sois.title=sois.title.split('#')[0] + '?insvg=' + encodeURIComponent(huhis);<br \/>\n       }<br \/>\n     }<br \/>\n     if (huhi.split('&')[0].split('#')[0].trim() != '') {<br \/>\n       if (sois.title.indexOf('?image=') != -1) {<br \/>\n         sois.title=sois.title.replace('?image=' + sois.title.split('?image=')[1].split('&')[0].split('#')[0],'');<br \/>\n       } else if (sois.title.indexOf('&image=') != -1) {<br \/>\n         sois.title=sois.title.replace('&image=' + sois.title.split('&image=')[1].split('&')[0].split('#')[0],'');<br \/>\n       }<br \/>\n       sois.title+='&image=' + encodeURIComponent(huhi.split('&')[0]) + huhi.replace(huhi.split('&')[0],'');<br \/>\n     } else if (sois.title.indexOf('?image=') != -1) {<br \/>\n       sois.title=sois.title.replace('?image=' + sois.title.split('?image=')[1].split('&')[0].split('#')[0],'');<br \/>\n     } else if (sois.title.indexOf('&image=') != -1) {<br \/>\n       sois.title=sois.title.replace('&image=' + sois.title.split('&image=')[1].split('&')[0].split('#')[0],'');<br \/>\n     }<br \/>\n     document.getElementById(sois.id.replace('span','if')).src=sois.title; \/\/+='&image=' + encodeURIComponent(huhi.split('&')[0]) + huhi.replace(huhi.split('&')[0],'');<br \/>\n   }<br \/>\n }<br \/>\n<br \/> <br \/>\n function snapshot(sio) {<br \/>\n   lastih=sio.innerHTML;<br \/>\n   lastio=-1;<br \/>\n   for (var iuh=0; iuh&lt;cds.length; iuh++) {<br \/>\n     if (lastih == cds[iuh]) {  lastio=iuh; } else if (sio.innerHTML.indexOf(' of ') != -1) { if (lastih.split(' of ')[0] == cds[iuh].split(' of ')[0]) {  lastio=iuh;    }    }<br \/>\n   }<br \/>\n }<br \/>\n<br \/> <br \/>\n function newwords(sio) {<br \/>\n   if (lastih != sio.innerHTML && lastio &gt;= 0) {<br \/>\n     cds[lastio]=sio.innerHTML.replace(\/\\&nbsp\\;\/g,' ').replace(\/\\&lt;br\\&gt;\/g,String.fromCharCode(10));<br \/>\n     var documentURL=document.URL.split('#')[0].split('?arr' + lastio + '=')[0].split('&arr' + lastio + '=')[0];<br \/>\n     location.href=(documentURL + '&arr' + lastio + '=' + encodeURIComponent(cds[lastio])).replace('.html&','.html?').replace('.htm&','.htm?');       \/\/ fancystuff();<br \/>\n   }<br \/>\n }<br \/>\n<\/code><\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/emoji-borders-and-backgrounds-image-text-parent-tutorial\/'>Emoji Borders and Backgrounds Image Text Parent Tutorial<\/a>.<\/p>\n\n\n\n\n\n<hr>\n\n\n\n\n\n<p id='ebbit'>Previous relevant <a target=_blank title='Emoji Borders and Backgrounds for Image Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/emoji-borders-and-backgrounds-for-image-tutorial\/'>Emoji Borders and Backgrounds for Image Tutorial<\/a> is shown below.<\/p>\n\n\n\n[caption id=\"\" align=\"alignnone\" width=\"220\" caption=\"Emoji Borders and Backgrounds for Image Tutorial\"]<a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Emoji Borders and Backgrounds for Image Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/inline_svg_image.jpg\" title=\"Emoji Borders and Backgrounds Context Tutorial\"  style=\"float:left;\" \/><\/a>[\/caption]\n\n\n\n<p>Yesterday's <a title='Emoji Borders and Backgrounds Context Tutorial' href='#ebbct'>Emoji Borders and Backgrounds Context Tutorial<\/a> involved Emoji Borders and Backgrounds around some Text, and hosted the SVG producing PHP with an HTML\/Javascript\/CSS parent webpage, but today we're diving back into <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/inline_svg.php-GETME\" title=\"inline_svg.php\">the changed<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php-GETME\">inline_svg.php<\/a> PHP <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg\">live run<\/a> to allow for the bordered or backgrounded content be an image, staying within the SVG itself that the PHP code produces.<\/p>\n\n\n\n\n\n<p>When image content becomes involved it might be best for you to see for yourself, below, how this new functionality might be used ...<\/p>\n\n\n\n\n\n<table style='width:100%;'>\n\n\n<tr>\n\n<th><a target=_blank href='http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&insvg=128330&width=260&height=260' title='Tutorial Picture bordered by Doves of Peace (width=260=height) ... http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&insvg=128330&width=260&height=260'>Tutorial Picture bordered by Doves of Peace (width=260=height)<\/a><\/th>\n\n<\/tr>\n\n\n\n\n<tr>\n\n<td style='width:100%;height:280px;'><iframe style='width:100%;height:280px;' src=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&insvg=128330&width=260&height=260\"><\/iframe><\/td>\n\n<\/tr>\n\n\n\n\n<tr>\n\n<th><a target=_blank href='http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&insvg=128330&widZth=260&heigZht=260' title='Tutorial Picture bordered by Doves of Peace ... http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&insvg=128330&widZth=260&heigZht=260'>Tutorial Picture bordered by Doves of Peace<\/a><\/th>\n\n<\/tr>\n\n\n\n\n<tr>\n\n<td style='width:100%;height:280px;'><iframe style='width:100%;height:280px;' src=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&insvg=128330&widZth=260&heigZht=260\"><\/iframe><\/td>\n\n<\/tr>\n\n\n\n\n<tr>\n\n<th><a target=_blank href='http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&inZsvg=128330&widZth=260&heigZht=260' title='Tutorial Picture ... \"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&inZsvg=128330&widZth=260&heigZht=260'>Tutorial Picture<\/a><\/th>\n\n<\/tr>\n\n\n\n\n<tr>\n\n<td style='width:100%;height:280px;'><iframe style='width:100%;height:280px;' src=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&inZsvg=128330&widZth=260&heigZht=260\"><\/iframe><\/td>\n\n<\/tr>\n\n\n\n\n<tr>\n\n<th><a target=_blank href='http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&insZvg=128330&width=260&height=260' title='Tutorial Picture (width=260=height) ... http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&insZvg=128330&width=260&height=260'>Tutorial Picture (width=260=height)<\/a><\/th>\n\n<\/tr>\n\n\n\n\n<tr>\n\n<td style='width:100%;height:280px;'><iframe style='width:100%;height:280px;' src=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?image=inline_svg_image.jpg&insZvg=128330&width=260&height=260\"><\/iframe><\/td>\n\n<\/tr>\n\n\n\n\n<tr>\n\n<th><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html-GETME\" title=\"emoji_border_background.html\">Yesterday's changed<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html-GETME\">emoji_border_background.html<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html\">HTML Parent<\/a> now Allows for an Image in SVG<\/th>\n\n<\/tr>\n\n\n\n\n<tr>\n\n<td style='width:100%;height:880px;'><iframe style='width:100%;height:880px;' src=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html\" title=\"emoji_border_background.html\"><\/iframe><\/td>\n\n<\/tr>\n\n\n<\/table>\n\n\n\n<!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/emoji-borders-and-backgrounds-for-image-tutorial\/'>Emoji Borders and Backgrounds for Image Tutorial<\/a>.<\/p-->\n<hr>\n<p id='ebbct'>Previous relevant <a target=_blank title='Emoji Borders and Backgrounds Context Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/emoji-borders-and-backgrounds-context-tutorial\/'>Emoji Borders and Backgrounds Context Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Emoji Borders and Backgrounds Context Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.jpg\" title=\"Emoji Borders and Backgrounds Context Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Emoji Borders and Backgrounds Context Tutorial<\/p><\/div>\n<p>It&#8217;s all fine and good creating the Emoji Borders and Backgrounds of yesterday&#8217;s <a title='Emoji Borders and Backgrounds Primer Tutorial' href='#ebbpt'>Emoji Borders and Backgrounds Primer Tutorial<\/a>, but it&#8217;s the context of their use that we are starting to take an interest in with today&#8217;s &#8230;<\/p>\n<ol>\n<li>take yesterday&#8217;s <a href='#emtable'>table<\/a> as a starting bit to our &#8230;<\/li>\n<li>&#8220;making use of&#8221; &#8220;proof of concept&#8221; <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html_GETME\" title=\"emoji_border_background.html\">emoji_border_background.html<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html\">live run<\/a> link for you to contextualize and make use of those table&#8217;s iframe contents from yesterday &#8230;<br \/>\n<iframe id=ebb style='width:100%;height:800px;' src='http:\/\/www.rjmprogramming.com.au\/emoji_border_background.html'><\/iframe>\n<\/li>\n<\/ol>\n<p> &#8230; as we figure out, perhaps, some better &#8220;tool like generics&#8221; here.  We&#8217;ll see <font size=1>(we hope)<\/font>!<\/p>\n<p>But, so far, how would we assess the approach, here?  Well, what we had to do today reminded us a lot of what we do here, often, at this blog, when we talk about <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/\/tag\/overlay\">&#8220;overlay&#8221;<\/a> webpage design approaches.  CSS <i>position:absolute<\/i> and <i>opacity<\/i> and Javascript [element].<i>getBoundingClientRect()<\/i> all made guest appearances!<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/emoji-borders-and-backgrounds-context-tutorial\/'>Emoji Borders and Backgrounds Context Tutorial<\/a>.<\/p-->\n<hr>\n<p id='ebbpt'>Previous relevant <a target=_blank title='Emoji Borders and Backgrounds Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/emoji-borders-and-backgrounds-primer-tutorial\/'>Emoji Borders and Backgrounds Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?insvg=127931\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Emoji Borders and Backgrounds Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.jpg\" title=\"Emoji Borders and Backgrounds Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Emoji Borders and Backgrounds Primer Tutorial<\/p><\/div>\n<p>Time for a new project into the new year.   It&#8217;s an &#8220;old chestnut&#8221; project, for us.   Being able to handle &#8230;<\/p>\n<ul>\n<li>borders made up of emoji images (in the form of &#8220;image\/svg+xml&#8221; mimetype data)<\/li>\n<li>backgrounds made up of emoji images (in the form of &#8220;image\/svg+xml&#8221; mimetype data)<\/li>\n<\/ul>\n<p> &#8230; via &#8220;proof of concept&#8221; (at least for our &#8220;Primer&#8221; tutorial start) <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php_GETME\">inline_svg.php<\/a>&#8216;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?insvg=127931\" title=\"Click picture\">single violin emoji<\/a> or &#8230;<\/p>\n<table id=emtable>\n<tr>\n<th>Description<\/th>\n<th>Iframe<\/th>\n<\/tr>\n<tr>\n<td style='vertical-align:top;'><span id=spanone title=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?insvg=128330&#038;width=260\">Line of Doves of Peace Emojis<\/span><\/td>\n<td><iframe id=ifone  src=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?insvg=128330&#038;width=260\"><\/iframe><\/td>\n<\/tr>\n<tr>\n<td style='vertical-align:top;'><span id=spantwo title=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?insvg=128646&#038;width=260&#038;height=120\">Border of Train Emojis<\/span><\/td>\n<td><iframe id=iftwo  src=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?insvg=128646&#038;width=260&#038;height=120\"><\/iframe><\/td>\n<\/tr>\n<tr>\n<td style='vertical-align:top;'><span id=spanthree title=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?insvg=127462,127465&#038;width=260&#038;height=120&#038;background=\">Background Flag of Andorra Emojis<\/span><\/td>\n<td><iframe  id=ifthree src=\"http:\/\/www.rjmprogramming.com.au\/inline_svg.php?insvg=127462,127465&#038;width=260&#038;height=120&#038;background=\"><\/iframe><\/td>\n<\/tr>\n<\/table>\n<p>Cute, huh?!<\/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='#d54474' onclick='var dv=document.getElementById(\"d54474\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/emoji\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d54474' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\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='#d54500' onclick='var dv=document.getElementById(\"d54500\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/context\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d54500' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\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='#d54503' onclick='var dv=document.getElementById(\"d54503\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/image\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d54503' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\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='#d54526' onclick='var dv=document.getElementById(\"d54526\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/javascript\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d54526' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Today&#8217;s work continues on from yesterday&#8217;s Emoji Borders and Backgrounds for Image Tutorial combining both &#8230; inline_svg.php underlying PHP live run (or in iframe) &#8230; modelled under &#8230; today&#8217;s changed emoji_border_background.html HTML Parent &#8230; partnership during testing. Our final aim &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/emoji-borders-and-backgrounds-image-text-parent-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":[12,14,37],"tags":[126,161,2105,281,385,2208,576,587,590,652,2732,876,894,932,1988,997,1986,1226,3889,1238,1254,1319,1404,2099,1480],"class_list":["post-54526","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-background","tag-border","tag-context","tag-css","tag-emoji","tag-getboundingclientrect","tag-html","tag-iframe","tag-image","tag-javascript","tag-mimetype","tag-opacity","tag-overlay","tag-php","tag-position","tag-programming","tag-proof-of-concept","tag-svg","tag-svgxml","tag-table","tag-text","tag-tutorial","tag-web-browser","tag-web-inspector","tag-xml"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/54526"}],"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=54526"}],"version-history":[{"count":7,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/54526\/revisions"}],"predecessor-version":[{"id":54545,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/54526\/revisions\/54545"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=54526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=54526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=54526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}