{"id":66636,"date":"2025-01-25T03:01:00","date_gmt":"2025-01-24T17:01:00","guid":{"rendered":"https:\/\/www.rjmprogramming.com.au\/ITblog\/?p=66636"},"modified":"2025-01-25T05:51:45","modified_gmt":"2025-01-24T19:51:45","slug":"pandoc-on-almalinux-conversion-multiple-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/pandoc-on-almalinux-conversion-multiple-tutorial\/","title":{"rendered":"Pandoc on AlmaLinux Conversion Multiple Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Pandoc on AlmaLinux Conversion Multiple Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/macos_textutil_multiple.jpg\" title=\"Pandoc on AlmaLinux Conversion Multiple Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Pandoc on AlmaLinux Conversion Multiple Tutorial<\/p><\/div>\n<p>The &#8220;theme word&#8221; of today&#8217;s blog posting adding to yesterday&#8217;s <a title='Pandoc on AlmaLinux Conversion Sharing Tutorial' href='#palcst'>Pandoc on AlmaLinux Conversion Sharing Tutorial<\/a> is &#8230;<\/p>\n<blockquote><p>\nmultiple\n<\/p><\/blockquote>\n<p> &#8230; in the sense of &#8230;<\/p>\n<ul>\n<li>allowing for multiple sharing conduits whether they be email and\/or SMS recipients<\/li>\n<li>allowing for multiple browsed for input file selections which involved <a target=\"_blank\" href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/client_browsing.html-----------------------------------------------------GETME' rel=\"noopener\">a tweaked<\/a> <a target=\"_blank\" href='http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/client_browsing.html-----------------------------------------------------GETME' rel=\"noopener\">client_browsing.htm<\/a> local file browsing help<sub>erer<\/sub> out<sub>erer<\/sub><\/li>\n<\/ul>\n<p> &#8230; in terms of our public facing <a target=\"_blank\" title='Pandoc open source document conversions' href='https:\/\/pandoc.org\/' rel=\"noopener\">Pandoc<\/a> interfacing inhouse PHP Document Conversion web application.  But, did we mention, downloading to a local Apache\/PHP\/MySql web server such as <a target=\"_blank\" title='MAMP for Apache\/PHP\/MySql on Mac OS X local web server' href='http:\/\/www.mamp.info' rel=\"noopener\">MAMP<\/a> is a good alternative environment approach, <a target=\"_blank\" title='?' href='https:\/\/www.youtube.com\/watch?v=PtR4cWb4HNg' rel=\"noopener\">that is<\/a>?<\/p>\n<p>Also, we&#8217;ve added to the PDF (output, <a target=\"_blank\" title='?' href='https:\/\/www.youtube.com\/watch?v=PtR4cWb4HNg' rel=\"noopener\">that is<\/a>) format smarts by filling in fields of that accompanying PDF Conversion web application we introduced yesterday, if the user selects to output to PDF, and follows through on this, in <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php---------------GETME\" rel=\"noopener\">our changed<\/a> <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php----------------GETME\" rel=\"noopener\">for multiple input file selections<\/a> <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php----------------GETME\" rel=\"noopener\">macos_textutil_convert.php<\/a> PHP <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\" rel=\"noopener\">web application<\/a> you <a href='#ifmpt'>can also try below<\/a>.<\/p>\n<p><b><i>Did you know?<\/i><\/b><\/p>\n<p>You may have noticed a few uses for hashtagging in this project &#8230;<\/p>\n<ul>\n<li>used extensively for email <font size=1>(where it appears to us to be of more practical use in so far as saved email links can be clicked much later to reconstruct output files &#8230; <a target=\"_blank\" title='?' href='https:\/\/www.youtube.com\/watch?v=PtR4cWb4HNg' rel=\"noopener\">that is<\/a>)<\/font> and SMS link URLs<\/li>\n<li>used to help populate input data items when multiple browsed for files are selected and new popup windows need that help<\/li>\n<li>navigating from non-PDF parts of the webpage to PDF parts <font size=2>&#8230; more your traditional use of hashtags <\/font><font size=1>&#8230; <a target=\"_blank\" title='?' href='https:\/\/www.youtube.com\/watch?v=PtR4cWb4HNg' rel=\"noopener\">#that is<\/a><\/font><\/li>\n<\/ul>\n<p>Just note, though, it could be that the web browser cache is not your friend here, and you may want a PHP $_GET (ie. ? delimited) argument with some randomosity to accompany any &#8220;lonely hashtags&#8221; out there!<\/p>\n<p>And just before we go &#8230;<\/p>\n<p><code><br \/>\n  var mylocationhash='';<br \/>\n  <br \/>\n  if (('' + location.hash).replace(\/^undefined\/g,'').replace(\/^null\/g,'').replace(\/^\\#\/g,'').trim() == '') { \/\/ sometimes it's because ...<br \/>\n    if (('' + document.URL).indexOf('#') != -1) {<br \/>\n      if (('' + document.URL).split('#')[1].trim() != '') {<br \/>\n        mylocationhash=decodeURIComponent(('' + document.URL).split('#')[1]);   \/\/ your hashtagging is contained in document.URL ...<br \/>\n      }<br \/>\n    }<br \/>\n  } else {<br \/>\n    mylocationhash=decodeURIComponent(('' + location.hash).replace(\/^undefined\/g,'').replace(\/^null\/g,'').replace(\/^\\#\/g,'')); \/\/ versus it existing in location.hash<br \/>\n  }<br \/>\n<\/code><\/p>\n<blockquote><p>\n<a target=\"_blank\" onmouseover=\"document.getElementById('fthatis').style.display='inline-block';\" title=\"?\" href='https:\/\/www.youtube.com\/watch?v=VjEq-r2agqc' rel=\"noopener\">Don&#8217;t give up &#8230; don&#8217;t give up<\/a><font id=fthatis style='display:none;' size=1> &#8230; <a target=\"_blank\" title='?' href='https:\/\/www.youtube.com\/watch?v=PtR4cWb4HNg' rel=\"noopener\">that is<\/a><\/font>\n<\/p><\/blockquote>\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\/new-pandoc-on-almalinux-conversion-sharing-tutorial\/' rel=\"noopener\">New Pandoc on AlmaLinux Conversion Sharing Tutorial<\/a> ...<\/p>\n\n\n\n\n\n<hr>\n\n\n\n\n\n<p id='palcst'>Previous relevant <a target=\"_blank\" title='Pandoc on AlmaLinux Conversion Sharing Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/pandoc-on-almalinux-conversion-sharing-tutorial\/' rel=\"noopener\">Pandoc on AlmaLinux Conversion Sharing Tutorial<\/a> is shown below.<\/p>\n\n\n\n[caption id=\"\" align=\"alignnone\" width=\"220\" caption=\"Pandoc on AlmaLinux Conversion Sharing Tutorial\"]<a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Pandoc on AlmaLinux Conversion Sharing Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/macos_textutil_sharing.jpg\" title=\"Pandoc on AlmaLinux Conversion Sharing Tutorial\"  style=\"float:left;\"  \/><\/a>[\/caption]\n \n\n\n<p>Improving on the sharing functionality regarding the public web server hosting aspects to our inhouse <a target=\"_blank\" title='Pandoc open source document conversions' href='https:\/\/pandoc.org\/' rel=\"noopener\">Pandoc<\/a> Document Conversion interfacing web application last talked about at the recent <a title='Pandoc on AlmaLinux Conversion Guises Tutorial' href='#palcgt'>Pandoc on AlmaLinux Conversion Guises Tutorial<\/a> had us ...<\/p>\n\n\n\n\n\n<ul>\n\n\n<li>rearranging any PHP $_GET[] based navigation to $_POST[] based navigation <font size=1>(except for links off emails and\/or SMSs, which have to be $_GET[] based ... but read on)<\/font> ... and ...<\/li>\n\n\n\n\n<li><strong><i>a<\/i><\/strong> link href mailto: and sms: calls now occur before that navigation rather than after ... so that ...<\/li>\n\n\n\n\n<li>logic can coalesce to $_POST[] based Pandoc calls ... which result in ...<\/li>\n\n\n\n\n<li>RJM Programming web server \/tmp\/ positioned output documents created ... in readiness for ...<\/li>\n\n\n\n\n<li>email or SMS links used by a sharing recipient first try seeing if that RJM Programming web server \/tmp\/ positioned output document still exists, and if so, the processing is much less involved ... and will ...<\/li>\n\n\n\n\n<li>try recreating those RJM Programming web server \/tmp\/ positioned output document otherwise<\/li>\n\n\n<\/ul>\n\n\n\n\n\n<p>Involving PDF as an input file type we decided to, in <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php--------------GETME\" rel=\"noopener\">our changed<\/a> <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php--------------GETME\" rel=\"noopener\">macos_textutil_convert.php<\/a> PHP <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\" rel=\"noopener\">web application<\/a> you <a href='#ifmpt'>can also try below<\/a> ...<\/p>\n\n\n\n\n\n<ul>\n\n\n<li>interface via a new input checkbox ... that if checked ...<\/li>\n\n\n\n\n<li>opens a new iframe with a <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/PHP\/php_calls_pdfimages.php\" rel=\"noopener\">totally different iframe hosted inhouse web application<\/a> presenting actions you can make happen when the input is a PDF file<\/li>\n\n\n<\/ul>\n\n\n\n\n\n<p>All this above can be confusing to users new to <a target=\"_blank\" title='Open Source information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Open_source' rel=\"noopener\">Open Source<\/a> products and ideas, and so to embellish <i>span<\/i> elements around the place, offering onclick logic so the user can start on their own research regarding these fabulous Open Source products with which PHP works so well.<\/p>\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\/pandoc-on-almalinux-conversion-sharing-tutorial\/' rel=\"noopener\">Pandoc on AlmaLinux Conversion Sharing Tutorial<\/a>.<\/p-->\n<hr>\n<p id='palcgt'>Previous relevant <a target=\"_blank\" title='Pandoc on AlmaLinux Conversion Guises Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/pandoc-on-almalinux-conversion-guises-tutorial\/' rel=\"noopener\">Pandoc on AlmaLinux Conversion Guises Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Pandoc on AlmaLinux Conversion Guises Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/macos_textutil_better.jpg\" title=\"Pandoc on AlmaLinux Conversion Guises Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Pandoc on AlmaLinux Conversion Guises Tutorial<\/p><\/div>\n<p>It pans out yesterday&#8217;s <a title='Pandoc on AlmaLinux Conversions Primer Tutorial' href='#palcpt'>Pandoc on AlmaLinux Conversions Primer Tutorial<\/a> revisit start to our &#8230;<\/p>\n<p><code><br \/>\n<a target=\"_blank\" title='Pandoc open source document conversions' href='https:\/\/pandoc.org\/' rel=\"noopener\">Pandoc<\/a> document conversion<br \/>\n<\/code><\/p>\n<p> &#8230; interfacing PHP web application involves more than a two day job.  Today, before any PDF input or any new format thinking, we took an interest in the way a user may want to use the output formats &#8230;<\/p>\n<ul>\n<li>html<\/li>\n<li>txt &#8230; which Pandoc knows as <i>plain<\/i><\/li>\n<\/ul>\n<p> &#8230; as we found &#8220;talents&#8221; for each, those being &#8230;<\/p>\n<ul>\n<li>html &#8230; is better when there are UTF-8 characters involved in the converted data<\/li>\n<li>txt &#8230; which Pandoc knows as <i>plain<\/i> &#8230; is useful in a pair of <i>guises<\/i> &#8230;\n<ol>\n<li>with line feeds<\/li>\n<li>without line feeds<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<p> &#8230; depending on what use the user sees with this data, and because we want to restrict the user to <i>internal use only<\/i> data displays, we wanted to have a means by which these three &#8220;guises&#8221; were available to the user in an HTML div element <font size=1>(which is more flexible than a <i>textarea<\/i> element)<\/font> to serve these purposes, as well as popup window HTML presentations where those UTF-8 characters can be more easily controlled.<\/p>\n<p>The day gets quickly used up with issues like this, we find, regarding <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php-------------GETME\" rel=\"noopener\">the changed<\/a> <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php-------------GETME\" rel=\"noopener\">macos_textutil_convert.php<\/a> PHP <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\" rel=\"noopener\">web application<\/a> you <a href='#ifmpt'>can also try below<\/a>.<\/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\/pandoc-on-almalinux-conversion-guises-tutorial\/' rel=\"noopener\">Pandoc on AlmaLinux Conversions Guises Tutorial<\/a>.<\/p-->\n<hr>\n<p id='palcpt'>Previous relevant <a target=\"_blank\" title='Pandoc on AlmaLinux Conversions Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/pandoc-on-almalinux-conversions-primer-tutorial\/' rel=\"noopener\">Pandoc on AlmaLinux Conversions Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Pandoc on AlmaLinux Conversions Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/macos_textutil_convert_more.gif\" title=\"Pandoc on AlmaLinux Conversions Primer Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Pandoc on AlmaLinux Conversions Primer Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s <a title='Word to HTML to CSV Delimitation Primer Tutorial' href='#whtmlcsvdpt'>Word to HTML to CSV Delimitation Primer Tutorial<\/a> offered a timely reminder that not only &#8230;<\/p>\n<ul>\n<li>LibreOffice and Microsoft Office software applications offer exports of document formats to HTML &#8230; but, also, open source gives us &#8230;<\/li>\n<li><font size=1>(what is now possible to offer in a public sense because of the recent AlmaLinux installation (you can read more about at <a target=\"_blank\" href='https:\/\/www.rjmprogramming.com.au\/ITblog\/pandoc-install-and-public-face-tutorial\/' title='Pandoc Install and Public Face Tutorial' rel=\"noopener\">Pandoc Install and Public Face Tutorial<\/a>) of)<\/font> <a target=\"_blank\" title='Pandoc open source document conversions' href='https:\/\/pandoc.org\/' rel=\"noopener\">Pandoc<\/a> command line application we can use to convert input document formats such as *.doc* and *.html and *.txt to others &#8230; and down the track &#8230;<\/li>\n<li>tomorrow&#8217;s job can involve the interfacing of another inhouse &#8220;open source using&#8221; web application so that input *.pdf is possible here too<\/li>\n<\/ul>\n<p>For security purposes we restrict where output files end up to &#8230;<\/p>\n<p><code><br \/>\n\/tmp\/<br \/>\n<\/code><\/p>\n<p> &#8230; as you might surmise would be a wise move.  The user ends up relying on <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php------------GETME\" rel=\"noopener\">the changed<\/a> <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php------------GETME\" rel=\"noopener\">macos_textutil_convert.php<\/a> PHP <a target=\"_blank\" href=\"https:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\" rel=\"noopener\">web application<\/a> itself, that way, to display the outputted data <font size=1>(created via command line Pandoc commands performed on the RJM Programming AlmaLinux web server via PHP <a target=\"_blank\" title='PHP exec() method information' href='http:\/\/php.net\/manual\/en\/function.exec.php' rel=\"noopener\">exec<\/a> calls)<\/font> for them.<\/p>\n<p><iframe id=ifmpt style=\"width:100%;height:900px;\" src=\"\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\" rel=\"noopener\"><\/iframe><\/p>\n<p>In making this happen, exporting to PDF, we found that we additionally had to install to the AlmaLinux web server &#8230;<\/p>\n<p><code><br \/>\ndnf install texlive<br \/>\n<\/code><\/p>\n<p> &#8230; the best &#8220;heads up&#8221; for this after reading the Pandoc error message being <a target=\"_blank\" href='https:\/\/www.google.com\/search?q=install+pdflatex+on+almalinux&#038;oq=install+pdflatex+on+almalinux&#038;gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIHCAEQIRigATIHCAIQIRigATIHCAMQIRifBdIBCTg3OTdqMGoxNagCCLACAQ&#038;sourceid=chrome&#038;ie=UTF-8\n' rel=\"noopener\">this useful webpage<\/a>, thanks.<\/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\/pandoc-on-almalinux-conversions-primer-tutorial\/' rel=\"noopener\">Pandoc on AlmaLinux Conversions Primer Tutorial<\/a>.<\/p-->\n<hr>\n<p id='whtmlcsvdpt'>Previous relevant <a target=\"_blank\" title='Word to HTML to CSV Delimitation Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/word-to-html-to-csv-delimitation-primer-tutorial\/' rel=\"noopener\">Word to HTML to CSV Delimitation 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\/PHP\/dostuff.jpg\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Word to HTML to CSV Delimitation Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/dostuff.jpg\" title=\"Word to HTML to CSV Delimitation Primer Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Word to HTML to CSV Delimitation Primer Tutorial<\/p><\/div>\n<p>The modern document applications allow conversion to HTML.  <i>What happens<\/i> during that process, exactly?  Well, that&#8217;s &#8220;under the hood&#8221; stuff.  A little background, though, and context &#8230;<\/p>\n<ul>\n<li>Why would you want to convert, say a Word file, to HTML (using, perhaps, LibreOffice, in our case, or Microsoft Word)? &#8230; well, as a mere mortal programmer &#8230;<\/li>\n<li><font size=1>(any form of)<\/font> text is easier to deal with for &#8220;mere mortal programmer&#8221; languages we might want to use like &#8230;<\/li>\n<li>PHP &#8230; is very good at the <strong>delimiter<\/strong> processing bits that allow the programmer be useful &#8230;<\/li>\n<li>converting &#8230; the data into other guises, the one that interested us being &#8230;<\/li>\n<li>CSV (comma separated value) data &#8230; to be fed into spreadsheet applications like Excel or LibreOffice&#8217;s one &#8230; and then create charts<\/li>\n<\/ul>\n<p> &#8230; and to do useful <strong>delimiter<\/strong> work in PHP you need to know, or suss out, <i>&#8220;what happens&#8221;<\/i>, or evidence of that &#8230; think hex dumps (where $dr is a PHP variable containing an HTML file record) &#8230;<\/p>\n<p>&lt;?php<br \/>\n<code><br \/>\necho <a target=\"_blank\" title='PHP bin2hex information' href='https:\/\/www.php.net\/manual\/en\/function.bin2hex.php' rel=\"noopener\">bin2hex<\/a>($dr) . \"\\n\";<br \/>\n\/\/ ... gave, in our case, output such as ...<br \/>\n\/\/ c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020c2a020546f74616c207c20c2a020c2a02036302c30333220c2a020c2a020c2a03130302e3030<br \/>\n<\/code><br \/>\n?&gt;<\/p>\n<p>And so we line up all the useful contributors &#8230;<\/p>\n<ol>\n<li>CP3O<\/li>\n<li>C2A0<\/li>\n<li>R2D2<\/li>\n<li>&#8230; &#8230; &#8230; <\/li>\n<\/ol>\n<blockquote><p>\nHang on?!  What&#8217;s with C2A0?  And for that matter, the pitiful &#8220;am typing&#8221; simulation &#8220;&#8230; &#8230; &#8230; &#8220;?!\n<\/p><\/blockquote>\n<p>Well, we asked around, and got to <a target=\"_blank\" title='Useful link' href='https:\/\/community.notepad-plus-plus.org\/topic\/19862\/replace-non-breaking-space-utf-8-c2-a0\/7' rel=\"noopener\">this useful link<\/a> telling us these are non-ascii characters describing a &#8230;<\/p>\n<p><code><br \/>\nNon-breaking space<br \/>\n<\/code><\/p>\n<p> &#8230; scenario programmers of HTML will know can be those &#8230;<\/p>\n<p><code><br \/>\n&amp;nbsp;<br \/>\n<\/code><\/p>\n<p> &#8230; HTML entities in your webpage content.  Well, now, at least to us, that all makes sense.  But, for our job, that could be the tip of the &#8220;UTF-8 headache&#8221; situation!  We know we&#8217;re only interested in ascii data characters for the conversion job we are trying to do.  Is there a way to simplify this &#8220;middleperson&#8221; HTML data content?  Well, <a target=\"_blank\" title='Other useful link' href='https:\/\/stackoverflow.com\/questions\/25236761\/how-to-replace-non-ascii-characters-in-a-string-in-php' rel=\"noopener\">this other useful link<\/a> &#8230; got us to use &#8230;<\/p>\n<p>&lt;?php<br \/>\n<code><br \/>\n$dr=preg_replace('\/[\\x7F-\\xFF]\/ui', '', $dr);<br \/>\n<\/code><br \/>\n?&gt;<\/p>\n<p> &#8230; helped us with &#8230;<\/p>\n<ol>\n<li>sanity<\/li>\n<li>simplification<\/li>\n<\/ol>\n<p> &#8230; as far as the PHP delimitation logic went.  This was an inhouse job, but we&#8217;ll show you a skeletal of how we used &#8230;<\/p>\n<ul>\n<li>input Word report &#8230; we are calling from_word_to_html.html &#8230; say &#8230;<\/li>\n<li>containing spreadsheet<sub>able<\/sub> data &#8230;<\/li>\n<li>we wanted to extract into &#8230;<\/li>\n<li>individual CSV files &#8230; ready to &#8230;<\/li>\n<li>open as useful spreadsheets &#8230; and perhaps onto some chart production &#8230;<\/li>\n<li>processing via command line command &#8230;<br \/>\n<code><br \/>\nphp dostuff.php<br \/>\n<\/code><br \/>\n &#8230; where that PHP is (very informally) &#8230;<\/li>\n<li><a target=\"_blank\" rel=\"noopener\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/dostuff.php-GETME\">dostuff.php<\/a><\/li>\n<\/ul>\n<p> &#8230; in case these ideas interest you?!<\/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='#d66591' onclick='var dv=document.getElementById(\"d66591\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/word\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d66591' 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='#d66610' onclick='var dv=document.getElementById(\"d66610\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/almalinux\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d66610' 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='#d66621' onclick='var dv=document.getElementById(\"d66621\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/utf-8\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d66621' 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='#d66627' onclick='var dv=document.getElementById(\"d66627\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/iframe\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d66627' 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='#d66636' onclick='var dv=document.getElementById(\"d66636\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/multiple\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d66636' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The &#8220;theme word&#8221; of today&#8217;s blog posting adding to yesterday&#8217;s Pandoc on AlmaLinux Conversion Sharing Tutorial is &#8230; multiple &#8230; in the sense of &#8230; allowing for multiple sharing conduits whether they be email and\/or SMS recipients allowing for multiple &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/pandoc-on-almalinux-conversion-multiple-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,29,37],"tags":[2915,4855,96,177,202,1604,233,234,3136,263,5082,327,5080,2170,380,2023,405,407,1793,5083,557,3961,576,587,1577,3695,2533,1807,714,2169,739,744,2092,830,877,885,2238,4938,3365,913,932,967,997,5081,1133,1137,1159,2263,3883,1254,1319,1345,1352,1411,1452],"class_list":["post-66636","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-operating-system","category-tutorials","tag-_post","tag-almalinux","tag-application","tag-cache","tag-checkbox","tag-collaboration","tag-command","tag-command-line","tag-conduit","tag-conversion","tag-decoding","tag-did-you-know","tag-document-open-source","tag-document-url","tag-email","tag-encoding","tag-exec","tag-export","tag-format","tag-guise","tag-hashtag","tag-hashtagging","tag-html","tag-iframe","tag-interface","tag-interfacing","tag-line-feed","tag-link","tag-local-web-server","tag-location-hash","tag-mailto","tag-mamp","tag-multiple","tag-navigation","tag-open-source","tag-operating-system-2","tag-output","tag-output-format","tag-pandoc","tag-pdf","tag-php","tag-popup","tag-programming","tag-public","tag-share","tag-sharing","tag-sms","tag-span","tag-switch","tag-text","tag-tutorial","tag-url","tag-utf-8","tag-web-server","tag-word"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/66636"}],"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=66636"}],"version-history":[{"count":14,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/66636\/revisions"}],"predecessor-version":[{"id":66653,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/66636\/revisions\/66653"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=66636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=66636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=66636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}