[php] args to args
標題[php] args to args
時間北極光 (2009/11/22 Sun 17:19:35)
這個議題主要是探討我要建立一個多重參數的function
傳遞他的多重參數給一個多重參數的function .
主要是我想複寫php 的 sprintf , 讓它加上多一層string escape的功能 ,
也就是
原本是 sprintf(" %s %s %s ","hi","hi2","hi3")
可以得到 " hi hi2 hi3 "
我想寫成
mysprintf(" %s %s %s ","hi","hi2","hi3") , 中間對param作replace "i","1"
也就是最後可以得到 " h1 h12 h13 " 這樣的字串 .
當然這只是個例子 , 真正的目的是想做 sql injection 的防堵 ,
於是我google func php sprintf , 就找到這個.
http://stackoverflow.com/questions/1606800/
passing-variable-argument-list-to-sprintf
function some_func() {
$args = func_get_args();
$s = call_user_func_array('sprintf', $args);
}
所以我作完後得到的結果就是
function rSQLPrintf($sql,$params){
$count = func_num_args();
$ret=Array();
for($in_=0;$in_<$count;$in_++){
$val=func_get_arg($in_);
if($in_>0){
$ret[$in_]=rSQL($val); //rSQL= mysql_real_escape_string($str);
}else{
$ret[$in_]=($val);
}
}
return call_user_func_array('sprintf', $ret);
}
KO 收工!
--
▄▅▆▇███▇▆▅▄▃ ╰┼╯─╮ ╮
◥███████████◣ ╰┼╯=│=│
◥██████───────◣ *.╯ ╯ ╯ の物語.*
◥███████──────◣~◢◣ ◢◣
◥██████───────◤ ◥◤* 空白的世界.翼 *◥◤
◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂~telnet://tony1223.no-ip.info
--
╭═ Origin ─═ 北極光 aurora.twbbs.org κλμ ─╣
╚─ Author ═─ 220-136-157-206.dynamic.h
Comments
No approved comments yet.