CJavaScript
鍖 | system.web.helpers |
---|---|
缁ф壙 | class CJavaScript |
婧愯嚜 | 1.0 |
鐗堟湰 | $Id: CJavaScript.php 2799 2011-01-01 19:31:13Z qiang.xue $ |
婧愮爜 | framework/web/helpers/CJavaScript.php |
CJavaScript 鏄竴涓寘鍚獼avaScript鐩稿叧澶勭悊鍑芥暟鐨勫姪鎵嬬被銆
鍏叡鏂规硶
鏂规硶 | 鎻忚堪 | 瀹氫箟鍦 |
---|---|---|
encode() | 灏嗕竴涓狿HP鍙橀噺缂栫爜鎴恓avascript琛ㄧず銆 | CJavaScript |
jsonDecode() | 瑙g爜涓涓狫SON褰㈠紡鐨勫瓧绗︿覆銆 | CJavaScript |
jsonEncode() | 杩斿洖JSON褰㈠紡鐨凱HP鏁版嵁銆 | CJavaScript |
quote() | 寮曠敤涓涓猨avascript瀛楃涓层 | CJavaScript |
鏂规硶璇︾粏
encode()
鏂规硶
public static string encode(mixed $value)
| ||
$value | mixed | 灏嗚缂栫爜鐨凱HP鍙橀噺 |
{return} | string | 缂栫爜鍚庣殑瀛楃涓 |
婧愮爜锛 framework/web/helpers/CJavaScript.php#54 (鏄剧ず)
public static function encode($value)
{
if(is_string($value))
{
if(strpos($value,'js:')===0)
return substr($value,3);
else
return "'".self::quote($value)."'";
}
else if($value===null)
return 'null';
else if(is_bool($value))
return $value?'true':'false';
else if(is_integer($value))
return "$value";
else if(is_float($value))
{
if($value===-INF)
return 'Number.NEGATIVE_INFINITY';
else if($value===INF)
return 'Number.POSITIVE_INFINITY';
else
return rtrim(sprintf('%.16F',$value),'0'); // locale-independent representation
}
else if(is_object($value))
return self::encode(get_object_vars($value));
else if(is_array($value))
{
$es=array();
if(($n=count($value))>0 && array_keys($value)!==range(0,$n-1))
{
foreach($value as $k=>$v)
$es[]="'".self::quote($k)."':".self::encode($v);
return '{'.implode(',',$es).'}';
}
else
{
foreach($value as $v)
$es[]=self::encode($v);
return '['.implode(',',$es).']';
}
}
else
return '';
}
灏嗕竴涓狿HP鍙橀噺缂栫爜鎴恓avascript琛ㄧず銆
渚嬪锛
$options=array('key1'=>true,'key2'=>123,'key3'=>'value'); echo CJavaScript::encode($options); // The following javascript code would be generated: // {'key1':true,'key2':123,'key3':'value'}
瀵逛簬楂樺害澶嶆潅鐨勬暟鎹粨鏋勪娇鐢jsonEncode鍜jsonDecode 鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖栥
jsonDecode()
鏂规硶
public static mixed jsonDecode(string $data, boolean $useArray=true)
| ||
$data | string | 灏嗚琚В鐮佺殑鏁版嵁 |
$useArray | boolean | 鏄惁浣跨敤鍏宠仈鏁扮粍鏉ヨ〃绀哄璞$殑鏁版嵁 |
{return} | mixed | 琚В鐮佺殑PHP鏁版嵁 |
婧愮爜锛 framework/web/helpers/CJavaScript.php#116 (鏄剧ず)
public static function jsonDecode($data,$useArray=true)
{
return CJSON::decode($data,$useArray);
}
瑙g爜涓涓狫SON褰㈠紡鐨勫瓧绗︿覆銆
jsonEncode()
鏂规硶
public static string jsonEncode(mixed $data)
| ||
$data | mixed | 灏嗚缂栫爜鐨勬暟鎹 |
{return} | string | JSON褰㈠紡鐨凱HP鏁版嵁銆 |
婧愮爜锛 framework/web/helpers/CJavaScript.php#105 (鏄剧ず)
public static function jsonEncode($data)
{
return CJSON::encode($data);
}
杩斿洖JSON褰㈠紡鐨凱HP鏁版嵁銆
quote()
鏂规硶
public static string quote(string $js, boolean $forUrl=false)
| ||
$js | string | 灏嗚琚紩鐢ㄧ殑瀛楃涓 |
$forUrl | boolean | 瀛楃涓叉槸鍚﹁浣滀负涓涓猆RL浣跨敤 |
{return} | string | 琚紩鐢ㄥ悗鐨勫瓧绗︿覆 |
婧愮爜锛 framework/web/helpers/CJavaScript.php#29 (鏄剧ず)
public static function quote($js,$forUrl=false)
{
if($forUrl)
return strtr($js,array('%'=>'%25',"\t"=>'\t',"\n"=>'\n',"\r"=>'\r','"'=>'\"','\''=>'\\\'','\\'=>'\\\\','</'=>'<\/'));
else
return strtr($js,array("\t"=>'\t',"\n"=>'\n',"\r"=>'\r','"'=>'\"','\''=>'\\\'','\\'=>'\\\\','</'=>'<\/'));
}
寮曠敤涓涓猨avascript瀛楃涓层 澶勭悊瀹屾垚鍚庯紝 瀛楃涓插彲浠ュ畨鍏ㄧ殑鏀惧埌寮曞彿涓綔涓簀avascript瀛楃涓茶捣浣滅敤銆