字串乱序 PHP&JS
<?php
/**
* 字串乱序 PHP&JS
*
* php 中把字串乱序后输出给客户机的 JAVASCRIPT , JAVASCRIPT 中恢复
* 在指定长度提取一个字符,并把这一组字串倒序,
* 形成这样的几组字串,最后貌似就形成了数字。
*
* 效果一般
*/
$str = "0123456789测试ab“\"'cdefghijklmnop你好多字节字符乱";
$url = 'http://www.baidu.com';
$str = httpget($url);
$str = mb_convert_encoding($str, 'GB18030', 'utf-8');
$r = 64;
$m = mb_strlen($str);
$n = $m / $r;
$jsarr = '';
for($i = 0;$i < $r;$i++){
$nstr = '';
for($j = 0;$j < $n;$j++){
$n2 = $j * $r + $i;
if($m < $n2) break;
$nstr = mb_substr($str, $n2, 1, 'GB18030') . $nstr; // 声明 $str 的编码
# $nstr = @$str[$n2].$nstr; // 多字节乱码
}
$nstr = "\"" . addJsSlashes($nstr) . "\",";
// addslashes addcslashes
$jsarr .= $nstr;
}
echo "\r\n\r\n<script> arr = [".$jsarr."];";
function addJsSlashes($str){
$str = addcslashes($str, "\0..\006\010..\012\014..\037\042\047\134\177");
return str_replace(array(chr(7), chr(11)), array('\007', '\013'), $str);
}
function httpget($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0); // 不响应 header
curl_setopt($ch, CURLOPT_NOBODY, FALSE); // 输出 body 区
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
$response = curl_exec($ch);
if(curl_getinfo($ch, CURLINFO_HTTP_CODE) == '200'){
return $response;
}
else return NULL;
curl_close($ch);
}
?>
function decode(arr) {
var width = arr[0].length;
var sfarr = new Array(width);
for (var c = 0; c < width; c++) {
sfarr[c] = "";
}
for (var c = 0; c < arr.length; c++) {
if (arr[c] == null) continue;
var str = new String(arr[c]);
var dif = width - str.length;
for (var z = 0; z < str.length; z++) {
if (str.charAt(z) + "" == "") continue;
else sfarr[z + dif] += str.charAt(z);
}
}
var w = "";
for (var c = 0; c < sfarr.length; c++) {
w = sfarr[c] + w;
}
document.write(w);
};
decode(arr);
document.close();
</script>
字串乱序 PHP&JS的更多相关文章
- 字串乱序 PHP&JS
<?php /** * 字串乱序 PHP&JS * * php 中把字串乱序后输出给客户机的 JAVASCRIPT , JAVASCRIPT 中恢复 * 在指定长度提取一个字符,并把这一 ...
- C语言 · 字串逆序
算法训练 字串逆序 时间限制:1.0s 内存限制:512.0MB 问题描述 给定一个字符串,将这个串的所有字母逆序后输出. 输入格式 输入包含一个字符串,长度不超过100,字符串中不 ...
- 总结下js排序算法和乱序算法
其实本人最怕的就是算法,大学算法课就感觉老师在讲天书,而且对于前端来说,算法在实际的应用中实在是很有限.毕竟算法要依靠大量的数据为基础才能发挥出算法的效率,就浏览器那性能,......是吧,退一万步说 ...
- JS判断字符串变量是否含有某个字串的实现方法
JS判断字符串变量是否含有某个字串的实现方法 varCts = "bblText"; if(Cts.indexOf("Text") > 0 ){ aler ...
- javascript专题系列--js乱序
乱序的意思想必没有不知道:就是将数组打乱. 听到乱序一般都会想到js的随机函数Math.random(); var values = [1, 2, 3, 4, 5]; values.sort(func ...
- js之数组乱序
这是最近面试遇到的,不过忘记了,之前也有印象刷到过这道题,就再次记录一下加深印象吧,听到最多的答案是利用sort方法,不过也有说这种方法不好,利用了快排和插入排序,那就整理下吧 <!DOCTYP ...
- js之获取url中"?"后面的字串
url : index.php?id=123 <script type="text/javascript"> function GetRequest() { var u ...
- js数组乱序输出 数组乱序排列
网上看的数组乱序输出,要么不合实际,要么代码繁琐.自己试了下,希望能给大家带来帮助. 重要思想也是Math.random*arr.length随机下标,然后删除取到的元素,继续随机下标. //将数组乱 ...
- Chrome谷歌浏览器中js代码Array.sort排序的bug乱序解决办法
[现象] 代码如下: var list = [{ n: "a", v: 1 }, { n: "b", v: 1 }, { n: "c", v ...
随机推荐
- 初学Larevel 2014-08-21 11:24 90人阅读 评论(0) 收藏
添加第一个路由时就遇到了 404错误,查了一下说要这样才能 版权声明:本文为博主原创文章,未经博主允许不得转载.
- lvs为何不能完全替代DNS轮询--转
原文地址:http://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959595&idx=1&sn=5f0633afd2 ...
- HP 1022N 网络打印机安装步骤
HP 1022N 网络打印机安装步骤
- C/C++(C++重载,默认参数,引用)
C++重载详解 重载就是同名而非同义,具体意义根据上下文的语境而言. 重载规则: 1,函数名相同. 2,参数个数不同,参数的类型不同,参数顺序不同,均可构成重载. 3,返回值类型不同则不可以构成重载. ...
- K-近邻算法学习
# -- coding: utf-8 -- from numpy import * import operator def createDataSet(): group = array([[1.0,1 ...
- WinSocket 编程
套接字 套接字指通信双方在通信时所使用的通信点(Endpoint),通信的双方通过通信点来交换信息和数据.不同类型的通信会使用不同的类型通信点,比如对于电话通信而言,通信点就是电话号码和分机号码的组合 ...
- python编程练习
python练习之冒泡排序: python代码: #coding=utf-8 if __name__=="__main__": arr=[3,2,1,7,11,4,5,8] pri ...
- Dynamics CRM2016 升级老版本号报“JavaScript Web 资源包括对 Microsoft Dynamics CRM 4.0 (2007) Web 服务终结点的引用”问题的解决的方法
今天在新的server上部署了CRM2016 on-premises,并将CRM2015的数据库拷贝过来准备附加后升级,但在升级过程中遇到了例如以下错误.向导检測到了我的JavaScript Web ...
- eXtremeDB相关问题解答(3)
> 1. Could our database support multi-database under one single instance? > > 2. ...
- RvmTranslator6.0 - Dassault Systemes 3DXML
RvmTranslator6.0 - Dassault Systemes 3DXML eryar@163.com 1. Introduction RvmTranslator can translate ...