Nędzne to i marnie napisane, ale nie mam czasu by przepisać tą funkcję. Jak chcesz - baw sie z tym sam
[php:1:f2e8f06545]<?php
function sql_parser($query){
$keywords_with_brackets_2before = array(
'IGNORE',
'INDEX',
'INTO',
'KEY',
'PRIMARY',
'PROCEDURE',
'REFERENCES',
'UNIQUE',
'USE',
);
$keywords_no_newline = array(
'AND',
'AS',
'ASC',
'DESC',
'IS',
'NOT',
'NULL',
'ON',
'OR',
'KEY',
'USING' );
$keywords = array(
'SELECT',
'DELETE',
'INSERT',
'REPLACE',
'TRUNCATE',
'UPDATE',
'EXPLAIN',
'DESCRIBE',
'SHOW',
'CREATE',
'SET',
'ALTER',
'LIMIT',
'FROM',
'WHERE');
$tab_query = explode(' ',$query);
foreach ($tab_query as $wyraz){
$w=strtoupper($wyraz);
if (in_array($w, $keywords) ){
$wyraz = '<font color="#6600FF">'.$w .'</FONT> ';
}elseif (in_array($w, $keywords_no_newline ) ){
$wyraz = '<font color="#6600CC">'.$w .'</FONT> ';
}elseif (in_array($w, $keywords_with_brackets_2before ) ){
$wyraz = "n".'<font color="#6600CC">'.$w .'</FONT>'."n";
}elseif($w=='*'){
$wyraz='* ';
}
else $wyraz .=' ';
$parse_query .= $wyraz;
}
$co = array("/`(.*?)`/",
"/'(.*?)'/",
);
$na = array('<font color="#009900">`1`</FONT>',
'<font color="#FF0099">'1'</FONT>',
);
$parse_query = preg_replace($co, $na, $parse_query);
return(nl2br($parse_query));
}
echo $query = "SElecT * , admins.id SELECT `admins` WHERE (ID = 'DASD' AND id = 'ww' ) LIMIT 0 , 30 ";
echo '<br /><br />';
echo sql_parser($query);
?>[/php:1:f2e8f06545]