<?php
  // flatten_ml.php
  // RJM Programming
  // November, 2014
  //
  // Convert HTML or XML to Text

  $fsev = '  document.getElementById("files").addEventListener("change", handleFileSelect, false); ';
  $esuff = "";
  $start = "<";
  $end = "</";
  if (isset($_GET['start'])) {
    $start = urldecode($_GET['start']);
  } else if (isset($_POST['start'])) {
    $start = urldecode($_POST['start']);
  }
  if (isset($_GET['end'])) {
    $end = urldecode($_GET['end']);
  } else if (isset($_POST['end'])) {
    $end = urldecode($_POST['end']);
  } else if (strlen($start) > 1) {
    $end = substr($start,1);
    $start = substr($start, 0, 1);
  }

  function local_client_files($inmode) {
    global $fsev, $start, $end;
    if ($inmode == "script") {
      return '
      
  var wut = new Array();
  var wutname = new Array();
  var uform;
  var uploadButton; 
  var fileSelect;
  var njk=0
  var resmy="my" + "res";
  var clist="li" + "st";
  var csubmit="sub" + "mit";
  var imgmode=" ";
  var omyh1;
  var fcont="";
  var bigi=0;
  var bigj=0;
  var wl="";
  var doneonce="";
  var presm="sm";
  var bigbuffer="";
  var prevmy_res="";
  var bigf=new Array();
  var urlsuf="";
  var zipcnt="";
  
  function expand(onein, twoin) {
    var outtwoin = "";
    
    var div = document.getElementById("dend");
    div.innerHTML = twoin;
    outtwoin = "<textarea style=width:100%;height:800px;>" + div.textContent || div.innerText || "" + "</textarea>";
    
    
    return onein + "&nbsp;&nbsp;" + outtwoin; 
  }
  
  function maybedo() {
  }
  
  function lookoutfor() {
  }   
  
  function doonload() {
    setTimeout(maybedo, 1000);
    setInterval(lookoutfor, 5000);
       
    uform = document.getElementById("file-form");
    /' . '/uploadButton = document.getElementById("upload-button");

    
    omyh1 = document.getElementById("myh1");

if (window.File && window.FileReader && window.FileList && window.Blob) {
  var iii=0;
} else {
  document.getElementById("files").style.display = "none";
  /' . '/document.getElementById("file").style.display = "none";
  if (1 == 2) { alert("The File APIs are not fully supported in this browser."); }
}
  
' . $fsev . '  
  
  }
  

  function handleFileSelect(evt) {
    var ourcont="";
    var readers = new Array();
    var f;
    var thelines;
    var thewords;
    var files = evt.target.files; // FileList object

    // files is a FileList of File objects. List some properties.
    var output = [];
    var file; // = files[0];
    var start; // = parseInt(opt_startByte) || 0;
    var stop; // = parseInt(opt_stopByte) || file.size - 1;
    var blob; // = file.slice(start, stop + 1);
    


    omyh1 = document.getElementById("myh1");
    

    
    document.getElementById("list").innerHTML = "";
   
    if (document.body.innerHTML.indexOf("my" + "res") == -1) {
      document.body.innerHTML = document.body.innerHTML + "<span id=my" + "res style=display:none;>~" + "~</span>";
    } else {
      prevmy_res = document.getElementById("my" + "res").innerHTML;
      document.getElementById("my" + "res").innerHTML = "~" + "~";
    }
    

    
    var ourfile;

    for (var iy = 0; iy < files.length; iy++) {
     ourfile = files[iy];
    }  

    var numi;
    
    
    for (var i = 0, f; f = files[i]; i++) {
      bigf[bigf.length] = f.name;
      
     
      document.getElementById("url").value = f.name;
      wutname[wutname.length] = f.name; 
      wut[wut.length] = window.open("",f.name,"width=500, height=80"); 
      bigi = eval(1 + i);
      file = f;
      start = 0;
      fcont = "";
      stop = file.size - 1;

      readers[readers.length] = new FileReader();

       imgmode = "n"; /' . '/"y";
     

  
    readers[readers.length - 1].onloadend = function(evt) {
      if (evt.target.readyState == FileReader.DONE) { 
         var xfcont=evt.target.result,ik,eoc,eik,tcont="";
         var thoselines = xfcont.split(String.fromCharCode(10)); 
         var thosewordscnt = 0, poff=0, coff=0, thosewords = xfcont.split(String.fromCharCode(32)); 
         var findwordscnt = 0, cfinds, rconts, cfind = "0", huhv, pref="", ihuh, ht;
         var cstart="' . substr($start,0,1) . '", cend="' . str_replace("{", "}", str_replace("<", ">", str_replace("[", "]", str_replace("(", ")", substr($start,0,1))))) . '";
         var fws, fwsc="", rcont = " ", bit, outtwoin = "", oc = xfcont.split(cstart);
         
         var div = document.createElement("div");
         div.innerHTML = xfcont;
         if (xfcont.toLowerCase().indexOf("<?xml ") >= 0) {
      for (ik=0; ik<oc.length; ik++) {
        eoc = oc[ik].split(cend);
        if (eoc.length > 1) {
          for (eik=1; eik<eoc.length; eik+=2) {
            tcont = tcont + eoc[eik];
            if (eoc[eik] != "") tcont = tcont + String.fromCharCode(10);
          }
        }
      }
         wut[eval(wut.length - 1)].document.write("&nbsp;&nbsp;<textarea style=width:100%;height:800px;>" + tcont || "" + "</textarea>");
         wut[eval(wut.length - 1)].document.title = wutname[eval(wut.length - 1)] + ".txt";
         } else if (xfcont.toLowerCase().indexOf("html>") >= 1) {
         wut[eval(wut.length - 1)].document.write("&nbsp;&nbsp;<textarea style=width:100%;height:800px;>" + div.textContent || div.innerText || "" + "</textarea>");
         wut[eval(wut.length - 1)].document.title = wutname[eval(wut.length - 1)] + ".txt";
         } else {
         thoselines = xfcont.replace(/</g, "&lt;").replace(/>/g, "&gt;").split(String.fromCharCode(10));
         for (var jjjjq=0; jjjjq<thoselines.length; jjjjq++) {
           if (tcont == "") tcont = "<html><body><textarea style=width:100%;height:800px;>";
           tcont = tcont + thoselines[jjjjq] + String.fromCharCode(13) + String.fromCharCode(10);
           xfcont = tcont + "</textarea></body></html>";
         wut[eval(wut.length - 1)].document.title = wutname[eval(wut.length - 1)];
         wut[eval(wut.length - 1)].document.write(xfcont);
         }
         }
         /' . '/document.getElementById("dend").innerHTML = document.getElementById("dend").innerHTML + "&nbsp;&nbsp;<textarea style=width:100%;height:800px;>" + div.textContent || div.innerText || "" + "</textarea>@!@";
                  
         var thosewordscnt = 0, thosewords = xfcont.split(String.fromCharCode(32)); 

         var ourwords, ourwordcnt = 0; //infilecontents.split(String.fromCharCode(32)); 
         for (var jjjj=0; jjjj<thoselines.length; jjjj++) {
           thosewords = thoselines[jjjj].split(String.fromCharCode(32));
           thosewordscnt = eval(thosewordscnt + thosewords.length); 
         }

        if (document.body.innerHTML.indexOf("~" + "~") == -1) {
          document.body.innerHTML = document.body.innerHTML + "<span id=my" + "res style=display:none;>;" + document.getElementById("url").value + "~" + thoselines.length + "~" + thosewordscnt + "~" + "~</span>";
        } else {
          document.body.innerHTML = document.body.innerHTML.replace("~" + "~", ";" + document.getElementById("url").value + "~" + thoselines.length + "~" + thosewordscnt + "~" + "~");
        }
        var sofar = document.getElementById("my" + "res").innerHTML;
        var sofars = sofar.split(";");
        var sofarlw;
         var ix = eval(sofars.length - 1);
         for (var j=1; j<sofars.length; j++) {
          jj = eval(j * 10);
          if (sofars[j] != "") {
            ix = j - 1;
            sofarlw = sofars[j].split("~");
            document.getElementById("l" + j).innerHTML = sofarlw[1];
            document.getElementById("w" + j).innerHTML = sofarlw[2];             
          }
          document.getElementById("prelist").value = encodeURIComponent(document.getElementById("list").innerHTML);
         }
      }
     
      
    };
    
      output.push("<li>Filename is <strong>", escape(f.name), "</strong> ... Type is (", f.type || "n/a", ") ... Date is ",
                  f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : "n/a", " ... Size is ", 
                  f.size, " bytes ... Line Count is <span id=l" + bigi + ">", "", "</span> ... Word Count is <span id=w" + bigi + ">", "", "</span>", 
                  "</li>");

      blob = file.slice(start, stop + 1);
      readers[readers.length - 1].readAsText(blob, "UTF-8");
        


    }
    document.getElementById("list").innerHTML = "<ul>" + output.join("") + "</ul>";
    document.getElementById("prelist").value = encodeURIComponent(document.getElementById("list").innerHTML);
    
    doneonce="y";
    
         
  }

      
';
    } else if ($inmode == "body") {
      return ' onload="doonload();" ' ;
    } else {
      return '&nbsp;&nbsp; ... or ... Local Client Files via <input onmouseover=" if (document.getElementById(clist).innerHTML != ' . "''" . ') {  document.getElementById(csubmit).click();  }   " type="file" multiple="" name="files[]" id="files"><input type="hidden" id="prelist" value=""><div id="list"></div>';
    }
  }

  $url = "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']);
  
  $ptag = ""; //"body";
  $ctag = ""; //"form";
  $attrib = "";
  $isaspec = "";
  if (isset($_GET['url'])) {
    if (strpos(urldecode($_GET['url']), "http:") !== false || strpos(urldecode($_GET['url']), "https:") !== false || strpos(urldecode($_GET['url']), "HTTP:") !== false || strpos(urldecode($_GET['url']), "HTTPS:") !== false) {
      $url = str_replace("/MarkItUp/", "/", urldecode($_GET['url']));
    } else if (strpos(urldecode($_GET['url']), "file:") !== false || strpos(urldecode($_GET['url']), "FILE:") !== false || strpos(urldecode($_GET['url']), "File:") !== false) {
      if (strpos(urldecode($_GET['url']), ",") !== false) {
       $url = str_replace("/MarkItUp/", "/", urldecode($_GET['url']));
       $isfs = explode(",", urldecode($_GET['url']));
       $isaspec = "";
       $mydelim = "";
       for ($ji=0; $ji<sizeof($isfs); $ji++) {
        if ($isfs[$ji] != "") {
         $partisaspec = str_replace("file://", "", str_replace("file:///", "/", urldecode($isfs[$ji])));   // eg. file://c/windows/proxy.pac
         if (substr($partisaspec, 0, 1) != "/" && substr($partisaspec, 1, 1) == "/" && substr($partisaspec, 0, 1) != ".") $partisaspec = substr($partisaspec, 0, 1) . ":" . substr($partisaspec, 1);
         $isaspec .= ($mydelim . $partisaspec);
         $mydelim = ",";
        }
       }
      } else {
       $url = str_replace("file://", "", str_replace("file:///", "/", urldecode($_GET['url'])));   // eg. file://c/windows/proxy.pac
       if (substr($url, 0, 1) != "/" && substr($url, 1, 1) == "/" && substr($url, 0, 1) != ".") $url = substr($url, 0, 1) . ":" . substr($url, 1);
      }
    }
  } else if (isset($_POST['url'])) {
    $url = str_replace("/MarkItUp/", "/", urldecode($_POST['url']));
    if (strpos(urldecode($_POST['url']), "http:") !== false || strpos(urldecode($_POST['url']), "https:") !== false || strpos(urldecode($_POST['url']), "HTTP:") !== false || strpos(urldecode($_POST['url']), "HTTPS:") !== false) {
      $isaspec = "";
    } else if (strpos(urldecode($_POST['url']), "file:") !== false || strpos(urldecode($_POST['url']), "FILE:") !== false || strpos(urldecode($_POST['url']), "File:") !== false) {
      if (strpos(urldecode($_POST['url']), ",") !== false) {
       $isfs = explode(",", str_replace("/MarkItUp/", "/", urldecode($_POST['url'])));
       $isaspec = "";
       $mydelim = "";
       for ($ji=0; $ji<sizeof($isfs); $ji++) {
        if ($isfs[$ji] != "") {
         $partisaspec = str_replace("file://", "", str_replace("file:///", "/", urldecode($isfs[$ji])));   // eg. file://c/windows/proxy.pac
         if (substr($partisaspec, 0, 1) != "/" && substr($partisaspec, 1, 1) == "/" && substr($partisaspec, 0, 1) != ".") $partisaspec = substr($partisaspec, 0, 1) . ":" . substr($partisaspec, 1);
         $isaspec .= ($mydelim . $partisaspec);
         $mydelim = ",";
        }
       }
      } else if (strpos(urldecode($_POST['url']), "*") !== false || strpos(urldecode($_POST['url']), "%") !== false || strpos(urldecode($_POST['url']), "?") !== false) {
       $isaspec = str_replace("file://", "", str_replace("file:///", "/", str_replace("/MarkItUp/", "/", urldecode($_POST['url']))));   // eg. file://c/windows/proxy.pac
       if (substr($isaspec, 0, 1) != "/" && substr($isaspec, 1, 1) == "/" && substr($isaspec, 0, 1) != ".") $isaspec = substr($isaspec, 0, 1) . ":" . substr($isaspec, 1);
      }
    } else if (strpos(urldecode($_POST['url']), "*") !== false || strpos(urldecode($_POST['url']), "%") !== false || strpos(urldecode($_POST['url']), "?") !== false) {
      $isaspec = str_replace("file://", "", str_replace("file:///", "/", str_replace("/MarkItUp/", "/", urldecode($_POST['url']))));   // eg. file://c/windows/proxy.pac
      if (substr($isaspec, 0, 1) != "/" && substr($isaspec, 1, 1) == "/" && substr($isaspec, 0, 1) != ".") $isaspec = substr($isaspec, 0, 1) . ":" . substr($isaspec, 1);
    }
  }
  if (isset($_GET['ptag'])) {
    $ptag = urldecode($_GET['ptag']);
  } else if (isset($_POST['ptag'])) {
    $ptag = urldecode($_POST['ptag']);
  }
  if (isset($_GET['ctag'])) {
    $ctag = urldecode($_GET['ctag']);
  } else if (isset($_POST['ctag'])) {
    $ctag = urldecode($_POST['ctag']);
  }
  if (isset($_GET['attrib'])) {
    $attrib = urldecode($_GET['attrib']);
  } else if (isset($_POST['attrib'])) {
    $attrib = urldecode($_POST['attrib']);
  }
  
  $makeuplist = ";";
  $suffix = " ... made up of <br>";
  $toosimple = " ... made up of <br>";
  
  if ($url != "" && $ptag != "" && $ctag != "") {
    echo '<!doctype HTML>
<html>
<head>

<style>
 h1 {
    color: #ffffff;
    font: 24pt Arial;
    text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.2), 0 20px 20px rgba(0, 0, 0, 0.15);
}
</style>

<script type="text/javascript">

  var which="url";
  var what="/youllneverfindthis/";

' . local_client_files('script') . '
  
  function check(thisfordelim) {
    var outval = thisfordelim.value.replace("/MarkItUp/", "/");
    if (outval.indexOf("http") != 0 && outval.indexOf("HTTP") != 0 && outval.indexOf("file:") != 0 && outval.indexOf("FILE:") != 0 && outval.indexOf("File:") != 0) outval = "http://";
    return outval;
  }


</script>
</head>
<body style=background-color:lightgray;' . local_client_files('body') . '>
';
    echo '<h1 id="myh1" align="center">Convert HTML or XML to Text</h1><br><br>' . "\n";

    echo '<div align="center" style="background-color:yellow;border:15px green solid;"><br><h2>Text version of ' . $url . ' ...</h2><br><textarea style="width:100%;height:800px;">' . "\n";
    $cont = "";
    if ($isaspec != "") {   // this is a filespec (list?) rather than one file
      $isspec = explode(",", $isaspec);
      for ($ki=0; $ki<sizeof($isspec); $ki++) {
       if ($isspec[$ki] != "") {
        $jsspec = "";
        if (substr($isspec[$ki],0,3) == "../" && strpos(strtolower($_SERVER['SERVER_NAME']), "rjmprogramming.com.au") !== false) {
          $jsspec = str_replace("/../", "/", (str_replace("*../", str_replace("//", "/", str_replace("/PHP/", "/", str_replace("/PHP//", "/", str_replace("flatten_ml.php", "", "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']))))), "*" . $isspec[$ki])));
          $isspec[$ki] = str_replace("/../", "/", (str_replace("*../", str_replace("//", "/", str_replace("/PHP/", "/", str_replace("/PHP//", "/", (dirname(__FILE__) . "/")))), "*" . $isspec[$ki])));
        } else if (substr($isspec[$ki],0,2) == "./" && strpos(strtolower($_SERVER['SERVER_NAME']), "rjmprogramming.com.au") !== false) {
          $jsspec = str_replace("/../", "/", (str_replace("*./", str_replace("//", "/", str_replace("/PHjunkP/", "/", str_replace("/PHjunkP//", "/", str_replace("flatten_ml.php", "", "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']))))), "*" . $isspec[$ki])));
          $isspec[$ki] = str_replace("/../", "/", (str_replace("*./", str_replace("//", "/", str_replace("/PHjunkP/", "/", str_replace("/PHjunkP//", "/", (dirname(__FILE__) . "/")))), "*" . $isspec[$ki])));
        }
        foreach (glob($isspec[$ki]) as $filename) {
         if ($jsspec != "") {
          $filename = str_replace(str_replace("/PHP/", "/", str_replace("/PHP//", "/", (dirname(__FILE__) . "/"))), str_replace("/PHP/flatten_ml.php", "/", "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI'])), $filename);
          $bitcont = file_get_contents("http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']) . "?url=" . urlencode($filename) . "&start=" . urlencode($start) . "&end=" . urlencode($end) . "&attrib=" . urlencode($attrib) . "&ptag=" . urlencode($ptag) . "&ctag=" . urlencode($ctag));
         } else if (substr($filename, 1, 1) == ":") { // Windows
          $bitcont = file_get_contents("http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']) . "?url=" . urlencode("file://" . substr($filename, 0, 1) . substr($filename, 2)) . "&start=" . urlencode($start) . "&end=" . urlencode($end) . "&attrib=" . urlencode($attrib) . "&ptag=" . urlencode($ptag) . "&ctag=" . urlencode($ctag));
         } else {  // Linux
          $bitcont = file_get_contents("http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']) . "?url=" . urlencode("file://" . $filename) . "&start=" . urlencode($start) . "&end=" . urlencode($end) . "&attrib=" . urlencode($attrib) . "&ptag=" . urlencode($ptag) . "&ctag=" . urlencode($ctag));
         }
         $bits = explode("<h2>", $bitcont);
         if (sizeof($bits) > 1) {
          $thenbits = explode("</div>", $bits[1]);
          echo "<h2>" . $thenbits[0];
         }
		}
	   }
	  }     
    } else {
      $urls = explode(",", $url);  
      if (sizeof($urls) > 1) {   // list of URLs
        $cont = "";
        for ($ki=0; $ki<sizeof($urls); $ki++) {
         if ($urls[$ki] != "") {
          $bitcont = file_get_contents("http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']) . "?url=" . urlencode($urls[$ki]) . "&start=" . urlencode($start) . "&end=" . urlencode($end) . "&attrib=" . urlencode($attrib) . "&ptag=" . urlencode($ptag) . "&ctag=" . urlencode($ctag));
          $bits = explode("<h2>", $bitcont);
          if (sizeof($bits) > 1) {
           $thenbits = explode("</div>", $bits[1]);
           echo "<h2>" . $thenbits[0];
          }
         }
        }
      } else {   // usual, original, one URL
        $cont = file_get_contents($url);
      }
    }
        
    if (strlen($cont) > 0) {
      
      $tcont = "";
      $esuff = "";
      if (strpos(strtolower($url . "*"), ".xml*") !== false) {
        $esuff = " \n";
      }
      
      $precont = "";
      $ocs = explode("</script>", $cont);
      if (sizeof($ocs) > 1) {
       for ($ik=0; $ik<sizeof($ocs); $ik++) {
        $xocs = explode("<script", $ocs[$ik]);
        if (sizeof($xocs) > 1) {
          $precont .= $xocs[0] . "<script";
          $xxocs = explode(">", $xocs[1]);
          $precont .= $xxocs[0] . ">";
          $precont .= str_replace("<", "&lt;", str_replace(">", "&gt;", substr($xocs[1], (strlen($xxocs[0]) + 1))));
        } else {
          $precont .= $xocs[0];
        }
        $precont .= "</script>";
	   }
	   $cont = $precont;
	  } 

      $oc = explode($start, $cont);
      for ($ik=0; $ik<sizeof($oc); $ik++) {
        if (strtolower(str_replace($end, "", str_replace("/", "", str_replace(" ", "", $oc[$ik])))) == "br") $tcont .= "\n";
        $eoc = explode($end, $oc[$ik]);
        if (sizeof($eoc) > 1) {
          for ($eik=1; $eik<sizeof($eoc); $eik+=2) {
            $tcont .= $eoc[$eik];
            if ($eoc[$eik] != "") $tcont .= $esuff;
          }
        }
      }

      echo $tcont;
          
    }

	echo '</textarea><hr></div>' . "\n";


    echo '<div align="center" style="background-color:pink;border:5px green solid;"><br><form id="file-form" action="' . "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']) . '" method="POST">' . "\n";
	echo 'Url: <input onblur=" this.value = check(this); " type="text" name="url" id="url" size=80 value="' . "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']) . '">' . local_client_files('form') . '<br><br>' . "\n";
	//echo 'Parent (in) tag: <input type="text" name="ptag" id="ptag" value="body"><br><br>' . "\n";
	//echo 'Child (within) tag: <input type="text" name="ctag" id="ctag" value="form"><br><br>' . "\n";
	//echo 'Parent Attribute search (optional): <input type="text" name="attrib" id="attrib" value=""><br><br>' . "\n";
	//echo 'Start delimiter: <input type="text" name="start" id="start" value="&lt;"><br><br>' . "\n";
	echo 'Delimiters: <input type="text" name="start" id="start" value="&lt;&gt;"><input type="hidden" name="ctag" id="ctag" value=" "><input type="hidden" name="ptag" id="ptag" value=" "><br><br>' . "\n";
	//echo 'End delimiter: <input type="text" name="end" id="end" value="&gt;"><br><br><br>' . "\n";
	echo '<input type="submit" name="submit" id="submit" value="Convert to Text"><br><br>' . "\n";
	echo '</form></div><div id="dend" style="display:none;"></div>' . "\n";


  } else {
    echo '<!doctype HTML>
<html>
<head>

<style>
 h1 {
    color: #ffffff;
    font: 24pt Arial;
    text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.2), 0 20px 20px rgba(0, 0, 0, 0.15);
}
</style>

<script type="text/javascript">


  var which="url";
  var what="/youllneverfindthis/";

' . local_client_files('script') . '
  
  function check(thisfordelim) {
    var outval = thisfordelim.value;
    if (outval.indexOf("http") != 0 && outval.indexOf("HTTP") != 0 && outval.indexOf("file:") != 0 && outval.indexOf("FILE:") != 0 && outval.indexOf("File:") != 0) outval = "http://";
    return outval;
  }


</script>
</head>
<body style=background-color:lightgray;' . local_client_files('body') . '>
';
    echo '<h1 id="myh1" align="center">Convert HTML or XML to Text</h1><br><h3 align="center">URL comma separated allowed</h3><br><h3 align="center">Local web server file:// with/without * for filespecs allowed ... eg. file://./*.*ml</h3><br>' . "\n";
    echo '<div align="center" style="background-color:pink;border:9px yellow solid;"><br><form id="file-form" action="' . "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']) . '" method="POST">' . "\n";
	echo 'Url: <input onblur=" this.value = check(this); " type="text" name="url" id="url" size=80 value="' . "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI']) . '">' . local_client_files('form') . '<br><br>' . "\n";
	//echo 'Parent (in) tag: <input type="text" name="ptag" id="ptag" value="body"><br><br>' . "\n";
	//echo 'Child (within) tag: <input type="text" name="ctag" id="ctag" value="form"><br><br>' . "\n";
	//echo 'Parent Attribute search (optional): <input type="text" name="attrib" id="attrib" value=""><br><br>' . "\n";
	//echo 'Start delimiter: <input type="text" name="start" id="start" value="&lt;"><br><br>' . "\n";
	echo 'Delimiters: <input type="text" name="start" id="start" value="&lt;&gt;"><input type="hidden" name="ctag" id="ctag" value=" "><input type="hidden" name="ptag" id="ptag" value=" "><br><br>' . "\n";
	//echo 'End delimiter: <input type="text" name="end" id="end" value="&gt;"><br><br><br>' . "\n";
	echo '<input type="submit" name="submit" id="submit" value="Convert to Text"><br><br>' . "\n";
	echo '</form></div><div id="dend" style="display:none;"></div>' . "\n";
  }

?>
</body>
</html>

