strhex('details') = '64657461696c73'  [64 65 74 61 69 6c 73]
strhex('abcde') = '6162636465'  [61 62 63 64 65]
hexstr('64 65 74 61 69 6c 73') = 'details'
hexstr('64657461696c73') = 'details'
hexstr('\x64\x65\x74\x61\x69\x6c\x73') = 'details'

<?php
/*
 * Convert a hex string to ASCII with hexstr()
 * Convert a ASCII string to a hex string with strhex()
 * 
 *
 * Paul Gregg <pgregg@pgregg.com>
 * 3 October 2003
 *
 * Open Source Code:   If you use this code on your site for public
 * access (i.e. on the Internet) then you must attribute the author and
 * source web site: http://www.pgregg.com/projects/php/code/hexstr.phps
 *
 */

Function hexstr($hexstr) {
  
$hexstr str_replace(' '''$hexstr);
  
$hexstr str_replace('\x'''$hexstr);
  
$retstr pack('H*'$hexstr);
  return 
$retstr;
}

Function 
strhex($string) {
  
$hexstr unpack('H*'$string);
  return 
array_shift($hexstr);
}

$teststr "64 65 74 61 69 6c 73";
#$teststr = "01 02 63 00 39 00 45 00 36 00 43 00 32 00 30 00 41 00 30 00 00 00";

ini_set('display_errors',1);
error_reporting(E_ALL);

$ascii_inputs = array("details""abcde");
$hex_inputs = array("64 65 74 61 69 6c 73""64657461696c73"'\x64\x65\x74\x61\x69\x6c\x73');

print 
"<pre>";

foreach (
$ascii_inputs as $str) {
  
$str2 strhex($str);
  
printf("strhex('%s') = %s  [%s]\n"$strvar_export($str2true), implode(" "str_split($str22)));
}

foreach (
$hex_inputs as $str) {
  
$str2 hexstr($str);
  
printf("hexstr('%s') = %s\n"$strvar_export($str2true));
}


print 
"</pre><hr>\n";
show_source(__FILE__);
?>