| 
<?php  /*  test_XHTMLencode.php  written by and Copyright © 2009,2010 Joe Golembieski, SoftMoon WebWare
see:    http://softmoon-webware.com/php_functions-instructions.php/
 http://softmoon-webware.com/php_functions.zip/
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>    /*/
 
 //  source code formatting:
 //  tab spacing=2   line-width=120 chars   word-wrap=NO
 
 
 require "PHP_Functions.php";
 
 
 Function unslash($posted)  {
 if (get_magic_quotes_gpc())  {
 $mqs=strtolower(ini_get('magic_quotes_sybase'));
 if (empty($mqs)  or  $mqs=='off')  $posted=stripslashes($posted);
 else  $posted=str_replace("''", "'", $posted);  }
 return $posted;  }
 ?>
 <html>
 <head>
 <title>test_XHTMLencode.php</title>
 <style>
 body {color: lime; background-color: black;}
 div {border: 2px solid orange; margin: 0 50% 2em 0; display: inline-block; color: orange;}
 div u {color: lime;}
 a {color: blue; background-color: black;}
 a:visited {color: blue; background-color: black;}
 a:hover {color: orange; background-color: black;}
 textarea {color: aqua; background-color: black;}
 select, input {color: yellow; background-color: black;}
 fieldset {display: inline-block;}
 </style>
 </head>
 <body>
 <?php
 if (isset($_POST['userSays']))
 echo
 "<div><u>",$_POST['userSays'],"</u>   raw length=",strlen($_POST['userSays']),"</div>\n",
 "<div><u>Magic_Quotes_GPC</u>  =",get_magic_quotes_gpc(),"<br />\n",
 "<u>Magic_Quotes_Sybase</u>  =",ini_get('magic_quotes_sybase'),"</div>\n",
 "<div><u>",$_POST['userSays']=unslash($_POST['userSays']),"</u>   unslashed length=",strlen($_POST['userSays']),"</div>\n",
 "<div><u>",$_POST['userSays']=RegulateText::XHTMLencode(
 $_POST['userSays'],
 ($_POST['nl_to_br']=='TRUE'),
 ($_POST['allowJS']=='TRUE'),
 ($_POST['spaces']=='Ents') ? "toEntities" : (($_POST['spaces']=='TRUE') ? TRUE : FALSE),
 ($_POST['xhtml']=='xhtml'),
 $_POST['charset'],
 ($_POST['retain']=='TRUE'),
 ($_POST['strip']=='TRUE'),
 ($_POST['alignEnts']=='FALSE') ? FALSE : $_POST['alignEnts'],
 ($_POST['transform_nonstandard_Ents']=='FALSE') ? FALSE :    $_POST['transform_nonstandard_Ents'],
 $_POST['tabSp'],
 ($_POST['hardspace_userdef'] ? $_POST['hardspace_userdef'] : $_POST['hardspace'])  ),
 "</u>   encoded length=",strlen($_POST['userSays']),"</div>\n",
 "<h3>Try viewing the HTML sourcecode of this page to further understand the process</h3>";
 ?>
 <form action="test_XHTMLencode.php" method='post'>
 <textarea name='userSays' cols='62' rows='13'><?php if (isset($_POST['userSays']))  echo htmlentities($_POST['userSays'], ENT_QUOTES);
 else { ?>beyond that	how about a <span style="color: red"  title="You & Me:  lip to lip"
 	onmouseover=
 'this.style.color="pink"'
 onclick="alert('¡smoochy smoochy smack!')">Fat &#x22;Kiss&#x22;</span> to  >make /my\ day<  <special>.
    <a href="javascript: alert('hello');">&iexcl;click me!</a>
 
 <pre>
 Roses are red
 Violets are blue ('round hea theyz kinda purple)
 Sugar is 
	SO…… sweet
 •And so are →⇒you⇐←
 </pre>
 Hidden space here: > < will show up when Control Chars are stripped.
 
 This is my ™trademark© function.
 <?php } ?></textarea><br />
 
 <label>nl to <br /> <input type='checkbox' name='nl_to_br' value='TRUE' checked='checked' /></label><br />
 
 <label>allow JavaScript <input type='checkbox' name='allowJS' value='TRUE' checked='checked' /></label><br />
 
 <fieldset><legend>modulate spaces</legend>
 <label>toEntities<input type='radio' name='spaces' value='Ents' checked='checked' /></label> 
 <label>TRUE<input type='radio' name='spaces' value='TRUE' /></label> 
 <label>FALSE<input type='radio' name='spaces' value='FALSE' /></label>
 </fieldset><br />
 
 <fieldset>
 <label>HTML<input type='radio' name='xhtml' value='html' /></label> 
 <label>XHTML<input type='radio' name='xhtml' value='xhtml' checked='checked' /></label>
 </fieldset><br />
 
 <fieldset><legend>character set</legend>
 <select name='charset'>
 <option>ISO-8859-1</option>
 <option>ISO-8859-15</option>
 <option>UTF-8</option>
 <option>cp866</option>
 <option>cp1251</option>
 <option>cp1252</option>
 <option>KOI8-R</option>
 <option>BIG5</option>
 <option>GB2312</option>
 <option>BIG5-HKSCS</option>
 <option>Shift_JIS</option>
 <option>EUC-JP</option>
 </select></fieldset><br />
 
 <fieldset><legend>retain formatting</legend>
 <label>TRUE<input type='radio' name='retain' value='TRUE' checked='checked' /></label> 
 <label>FALSE<input type='radio' name='retain' value='FALSE' /></label>
 </fieldset>
 
 <fieldset><legend>strip Control Characters</legend>
 <label>TRUE<input type='radio' name='strip' value='TRUE' checked='checked' /></label> 
 <label>FALSE<input type='radio' name='strip' value='FALSE' /></label>
 </fieldset><br />
 
 <fieldset><legend>align Ents</legend>
 <select name='alignEnts'>
 <option>FALSE</option>
 <option>numeric</option>
 <option>mnemonic</option>
 </select></fieldset>
 
 <fieldset><legend>transform Nonstandard Ents</legend>
 <select name='transform_nonstandard_Ents'>
 <option>FALSE</option>
 <option>numeric</option>
 <option>mnemonic</option>
 </select></fieldset><br />
 
 <fieldset><legend>tab spacing</legend>
 <input type='text' name='tabSp' value='8' maxlength='2' size='2' /></fieldset>
 
 <fieldset><legend>hardspace</legend>
 <select name='hardspace'>
 <option>&nbsp;</option>
 <option>&#160;</option>
 <option>&#32;</option>
 <option>&#8194;</option>
 <option>&ensp;</option>
 <option>&#8195;</option>
 <option>&emsp;</option>
 <option>&#8201;</option>
 <option>&thinsp;</option>
 </select>
 <input type='text' name='hardspace_userdef' value='' maxlength='10' size='10' /></fieldset>
 
 <input type='submit' name='submit' />
 </form><br />
 <a href="test_XHTMLencode.php">Reset form to initial test string</a>
 
 <h2>here is PHP's "official" HTML entities table:</h2>
 <pre>
 <?php echo htmlentities(var_export(get_html_translation_table(HTML_ENTITIES), TRUE)); ?>
 </pre>
 <h2>here is our HTML entities table, also showing if your browser supports each entity:</h2>
 <pre>
 array(
 <?php $ents=RegulateText::get_entities();  $tab=chr(9);
 foreach ($ents as $code => $ent)  {echo "  $code$tab=>  '$ent'$tab&$ent;\n";}
 //  echo htmlentities(var_export(RegulateText::get_entities())); ?>
 )
 </pre>
 <h2>
 </body>
 </html>
 |