这是我刚刚尝试的代码
$css = '<style> body{font-family:tahoma;font-size:12px;}</style>';
$lista = 'select|insert|update|delete|drop|truncate|alter' ;
$lista2 = 'into|from|values|desc|asc|on' ;
$lista3 = 'where|order by|limit|having|group by|union|left join|right join|full join|outer join|inner join' ;
$code = preg_replace('/('.$lista.')/i','<br /><span style="color:#f00;">$1</span>',$this->query);
$code = preg_replace('/('.$lista3.')/i','<br /> <span style="color:#0f0">$1</span>',$code);
$code = preg_replace('/('.$lista2.')/i','<span style="color:#00f">$1</span>',$code).$css;
我的结果就像这个img
我想用简单的方法来做这件事
但我不应该使用任何插件只是正则表达式来理解它
答案 0 :(得分:0)
我同意Billy Moon关于解析器的问题,但是如果你真的想使用正则表达式,那么你的工作就已接近工作,你只是忘记了单词边界
$code = preg_replace('/\b('.$lista.')\b/i','...',$this->query);
$code = preg_replace('/\b('.$lista3.')\b/i','...',$code);
$code = preg_replace('/\b('.$lista2.')\b/i','...', $code);