{"id":72001,"date":"2026-02-07T03:01:00","date_gmt":"2026-02-06T17:01:00","guid":{"rendered":"https:\/\/www.rjmprogramming.com.au\/ITblog\/?p=72001"},"modified":"2026-02-07T06:51:27","modified_gmt":"2026-02-06T20:51:27","slug":"landing-page-byline-emojis-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/landing-page-byline-emojis-tutorial\/","title":{"rendered":"Landing Page Byline Emojis Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/index.php\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Landing Page Byline Emojis Tutorial\" src=\"https:\/\/www.rjmprogramming.com.au\/emoji_byline_landing_page.jpg\" title=\"Landing Page Byline Emojis Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Landing Page Byline Emojis Tutorial<\/p><\/div>\n<p>Here at RJM Programming we have the byline &#8230;<\/p>\n<blockquote><p>\nSoftware Need Not Be Hard!\n<\/p><\/blockquote>\n<p> &#8230; appearing on <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=https:\/\/www.rjmprogramming.com.au\/index.php-------GETME\" rel=\"noopener\">our changed<\/a> <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/index.php-------GETME\" rel=\"noopener\">index.php<\/a> <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/index.php\" rel=\"noopener\">Landing Page<\/a>.  Today, we&#8217;ve decided to animate this byline by allowing it to receive varying amounts of emoji input to add some variety.<\/p>\n<p>This was achieved just with additional Javascript (DOM, <a target=\"_blank\" title='?' href='https:\/\/www.youtube.com\/watch?v=PtR4cWb4HNg' rel=\"noopener\">that is<\/a>), written into the PHP, as per &#8230;<\/p>\n<p>&lt;?php echo &#8221;<br \/>\n<code><br \/>\n  var gbyline='', mredon=false, sarttarget='', sarthref='';<br \/>\n<br \/>\n  function well(evt) {<br \/>\n    evt.stopPropagation();<br \/>\n    window.open('\/\/www.rjmprogramming.com.au\/HTMLCSS\/karaoke_youtube_api.htm?youtubeid=hMPbipfgQ2c&youtube_duration=41.808&email=&email=&emoji=on&c0=on&i0=9&j0=11&i1=&j1=&i2=&j2=&i3=&j3=&i4=&j4=&i5=&j5=&i6=&j6=&i7=&j7=&i8=&j8=&i9=&j9=&i10=&j10=&i11=&j11=&i12=&j12=&i13=&j13=&i14=&j14=&i15=&j15=&i16=&j16=&i17=&j17=&i18=&j18=&i19=&j19=&i20=&j20=&i21=&j21=&i22=&j22=&i23=&j23=&i24=&j24=&i25=&j25=&i26=&j26=&i27=&j27=&i28=&j28=&i29=&j29=&rand=','_blank','top=50,left=50,width=800,height=800');<br \/>\n  }<br \/>\n<br \/> <br \/>\n  function vs(togmode) {<br \/>\n    if (togmode != mredon) {<br \/>\n      if (togmode) {<br \/>\n        document.getElementById('sart').target='_self';<br \/>\n        document.getElementById('sart').href='#';<br \/>\n      } else {<br \/>\n        document.getElementById('sart').target=sarttarget;<br \/>\n        document.getElementById('sart').href=sarthref;<br \/>\n      }<br \/>\n    }<br \/>\n    return togmode;<br \/>\n  }<br \/>\n<br \/> <br \/>\n  function bylineemojis() {<br \/>\n    var lastcfrom='ed', lastcto='';<br \/>\n    var inideas=['Soft','Hard','Hard','Soft','Not','Be','wa','ware','!','|','Nee','ed','Need','No','So','ar','war','war','war','Ha','Software','Software'];<br \/>\n    var ideas=['&amp;#x1F366;','&amp;#x1F4A0;',String.fromCodePoint(0x26CF,0xFE0F),'&amp;#x1FAE0;','&amp;#x1FAA2;','&amp;#x1F41D;','&amp;#x1F62D;','&amp;#x1F3FA;','&amp;#x2757;','&amp;#x1F4E3;','&amp;#x1F9B4;','&lt;a id=amred style=z-index:156; href=# onclick=well(event); title=\\\"Hello, I' + \\\"'\\\" + 'm Mr Ed\\\"&gt;<img style=display:inline-block; src='\/mred.png'><\/img>&lt;\/a&gt;','&amp;#x266D;','&amp;#x26D4;','&amp;#x1FAA1;','&amp;#x1F62E;','&amp;#x1FA96;',String.fromCodePoint(0x2694,0xFE0F),'&amp;#x1FAE1;','&amp;#x1F602;',  String.fromCodePoint(0x1F469,0x200D,0x1F4BB), String.fromCodePoint(0x1F468,0x200D,0x1F4BB)];<br \/>\n  if (gbyline == '') { gbyline=document.getElementById('byline').innerHTML; sarttarget=document.getElementById('sart').target; sarthref=document.getElementById('sart').href; }<br \/>\n    var outideas=gbyline;<br \/>\n    var lenideas=eval('' + ideas.length);<br \/>\n    var howmany=Math.floor(Math.random() * lenideas), thatone=0;<br \/>\n    for (var ii=0; ii&lt;howmany; ii++) {<br \/>\n      thatone=Math.floor(Math.random() * howmany);<br \/>\n      if (inideas[thatone] == 'ed') {<br \/>\n      lastcto=ideas[thatone];<br \/>\n      } else {<br \/>\n      outideas=outideas.replace(inideas[thatone], ideas[thatone]);<br \/>\n      }<br \/>\n    }<br \/>\n    if (lastcto != '') { if (outideas.indexOf('ed') != -1) { mredon=vs(true); } else { mredon=vs(false);  } outideas=outideas.replace(lastcfrom, lastcto);  } else { mredon=vs(false); }<br \/>\n    document.getElementById('byline').innerHTML=outideas;<br \/>\n  }<br \/>\n<br \/>\n  setInterval(bylineemojis, 5000);<br \/>\n<\/code><br \/>\n&#8220;; ?&gt;<\/p>\n<p>As usual, whenever we deal with emojis we find <a target=\"_blank\" title=\"Emojipedia\" href='https:\/\/emojipedia.org' rel=\"noopener\">Emojipedia<\/a> just great, thanks.  Also helpful with today&#8217;s work was <a target=\"_blank\" title='Useful link' href='https:\/\/emojidb.org\/white-horse-emojis' rel=\"noopener\">this link<\/a>.<\/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='#d72001' onclick='var dv=document.getElementById(\"d72001\"); 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='d72001' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Here at RJM Programming we have the byline &#8230; Software Need Not Be Hard! &#8230; appearing on our changed index.php Landing Page. Today, we&#8217;ve decided to animate this byline by allowing it to receive varying amounts of emoji input to &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/landing-page-byline-emojis-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":[4,12,37],"tags":[103,4099,354,385,3023,652,680,932,997,1125,2700,1867,1319],"class_list":["post-72001","post","type-post","status-publish","format-standard","hentry","category-animation","category-elearning","category-tutorials","tag-array","tag-byline","tag-dom","tag-emoji","tag-emojipedia","tag-javascript","tag-landing-page","tag-php","tag-programming","tag-setinterval","tag-string-fromcodepoint","tag-substitution","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/72001"}],"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=72001"}],"version-history":[{"count":8,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/72001\/revisions"}],"predecessor-version":[{"id":72012,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/72001\/revisions\/72012"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=72001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=72001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=72001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}