Keys →
Functions ↓
function frame ( $a, $ptr = -1 ) {#-k debug trace print#-d 4/7/12 - Cleaned up - standard header; added in-line ASCII chars#- standard dumping header#- $a - string to dump#- $ptr - if >= 0, put a caret to point to last char. Default none. $raw = debug_backtrace(); if (!isset($raw[1]['function'])) $raw[1]['function'] = 'MAIN';# $hdr = pathinfo (callingPath()); $callingFile = file ( $raw[0]['file'] ); $hdr = $callingFile[$raw[0]['line']-1]; $hdr = contentsParen ( $hdr, strpos($hdr,'(') ); $hdr = '<b>' . $raw[1]['function'] . '['. $raw[0]['line'] . '].' . trim($hdr) . ':</b> = '; echo '<hr>' . $hdr; $d = '0 1 2 3 4 5 6 7 8 9 '; $u = ' 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789';# $asc1 = 'N00000000TL1FC1111112222222E2233';# $asc2 = 'L12345678BF1FR4567890123456C8901'; $s = ' '; $t = ' ----+---- ----+---- ----+---- ----+---- ----+---- ----+---- ----+---- ----+---- ----+---- ----+----';#[?] U+21DB ⇛ RIGHTWARDS TRIPLE ARROW#[?] U+25B6 ▶ BLACK RIGHT-POINTING TRIANGLE $ccnt = strlen($a); # chars $lcnt = $ccnt/100; # lines if ($ptr >= 0) { $plin = floor($ptr/100); $ptr = $ptr%100; } $l = min(100,$ccnt); $w = strlen($lcnt)+3; $ws = '%' . $w . 's'; $out = '<br><div style="background-color: #E6FFED; font-family:\'Courier New\'; white-space:pre; "><br>' . substr($s,0,$w+2) . substr($d,0,$l) . '|<br>' . substr($s,0,$w+2) . substr($u,0,$l) . '|<br>' . substr($s,0,$w+1) . '|' . substr($t,0,$l) . '|<br>' ; echo $out; for ($lin=0; $lin<$lcnt; $lin++) { $ax = substr($a,$lin*100,100); $ll = min(100,$ccnt-$lin*100); $lr = 100 - $ll; echo sprintf($ws,$lin*100) . ' |<span style="background-color: #A0FFA0;">' . myZap(substr($ax,0,$ll),1) . '</span>' . substr($s,0,$lr) . '|<br>'; if (($lin == $plin) and ($ptr >= 0)) { if (($ptr > 1) and ($ptr < 98)) { $sss = '<span style="background-color: #FFB9B9;">--^--</span>'; $ss = substr_replace ( $s, $sss, $ptr-2, 5 ); } elseif ($ptr > 1) { $sss = '<span style="background-color: #FFB9B9;">--^</span>'; $ss = substr_replace ( $s, $sss, $ptr-2, 3 ); } else { $sss = '<span style="background-color: #FFB9B9;">^--</span>'; $ss = substr_replace ( $s, $sss, $ptr, 3 ); } echo substr($s,0,$w+1).'|'.substr($ss,0,$l).substr($s,0,16).'|<br>'; }# $c = $d = '';# $ctrl = 0;# for ( $i=0; $i < $ll; $i++ )# {## $ch = uniOrd($ax[$i]);# $ch = ord($ax[$i]);# if ($ch < 32) { $c .= $asc1[$ch]; $ctrl++; }# else { $c .= ' '; }# if ($ch < 32) { $d .= $asc2[$ch]; }# else { $d .= ' '; }# }## if ($ctrl)# {# echo substr($s,0,$w+1).'|'.$c.'|<br>';# echo substr($s,0,$w+1).'|'.$d.'|<br>';# }# echo substr($s,0,$w+1).'|'.substr($t,0,$l).'|<br>'; } prt ( '<br></div><br>' ); }?>