curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); $_REQUEST['string'] = curl_exec($curl); curl_close($curl); } //end if url $_REQUEST['pattern'] = urldecode($_REQUEST['pattern']); $array = array(); $matches = preg_match_all($_REQUEST['pattern'], $_REQUEST['string'], $array); if ($_REQUEST['capture'] == 'auto') { $_REQUEST['capture'] = count($array[1]) ? true : false; } $idx = $_REQUEST['capture'] ? 1 : 0; if ($_REQUEST['nbrmatches']) { header('Content-Type: text/plain;charset=utf-8'); echo $matches; exit; } //end if nbrmatches if ($_REQUEST['matchnbr']) { header('Content-Type: text/plain;charset=utf-8'); echo $array[$idx][$_REQUEST['matchnbr'] - 1]; exit; } //end if matchnbr require 'php2yubnubarray.php'; $_REQUEST['as'] = $_REQUEST['as'] ? $_REQUEST['as'] : 'xml'; $output = php2yubnubarray($array[$idx], $_REQUEST['as'], $_REQUEST['callback']); if ($error) { $output = php2yubnubarray(array($error[0]['number'] . ' : ' . $error[0]['message']), $_REQUEST['as'], $_REQUEST['callback']); } echo $output;
<?php $_REQUEST['as'] = $_REQUEST['as'] ? $_REQUEST['as'] : 'xml'; $_REQUEST['token'] = str_replace('<space>', ' ', $_REQUEST['token']); $array = explode($_REQUEST['token'], $_REQUEST['data']); require 'php2yubnubarray.php'; echo php2yubnubarray($array, $_REQUEST['as'], $_REQUEST['callback']);
$rtrn = curl_exec($curl); curl_close($curl); return $rtrn; } //end function yubnubcmd require 'yubnub2phparray.php'; require 'php2yubnubarray.php'; $items = yubnub2phparray($_REQUEST['data']); $_REQUEST['cmd'] = str_replace('%25s', '%s', $_REQUEST['cmd']); $cmdsep = $_REQUEST['as'] == '<space>' ? ' ' : "\n"; if ($_REQUEST['as'] == 'null') { $cmdsep = ''; } foreach ($items as $item) { $cmd = stristr($_REQUEST['cmd'], '%s') ? str_replace('%s', $item, $_REQUEST['cmd']) : $_REQUEST['cmd'] . ' ' . $item; $cmd = str_replace('[|', '{', $cmd); $cmd = str_replace('|]', '}', $cmd); if ($_REQUEST['as'] != 'array') { $data .= yubnubcmd($cmd) . $cmdsep; } else { $data[] = yubnubcmd($cmd); } } //end foreach items $_REQUEST['type'] ? $_REQUEST['type'] : ($_REQUEST['type'] = 'xml'); if ($_REQUEST['as'] != 'array') { header('Content-Type: text/plain;charset=utf-8'); echo $data; } else { echo php2yubnubarray($data, $_REQUEST['type'], $_REQUEST['callback']); }
<?php function yubnubcmd($cmd) { $curl = curl_init('http://yubnub.org/parser/parse?command=' . urlencode($cmd)); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); $rtrn = curl_exec($curl); curl_close($curl); return $rtrn; } //end function yubnubcmd header('Content-Type: text/plain;charset=utf-8'); require 'yubnub2phparray.php'; $items = yubnub2phparray(yubnubcmd('var ' . $_REQUEST['var'])); $items[] = $_REQUEST['append']; require 'php2yubnubarray.php'; echo yubnubcmd('var ' . $_REQUEST['var'] . ' -set ' . php2yubnubarray($items));