前沿: 看到站长之家的站长工具很强大,所以也想自己试着实现一些其中的功能,由于本人只具有初阶的php技术,所以便用php一些函数实现了部分功能。 主要功能包括:正则表达式测试工具,MD5和SHA1加密工具,URL编码和解码工具,ASCII与字符之间的转换工具。
主要功能包括:正则表达式测试工具,MD5和SHA1加密工具,URL编码和解码工具,ASCII与字符之间的转换工具。
演示地址:http://zhanzhanggongju.duapp.com/
演示地址:http://zhanzhanggongju.duapp.com/fun/zengze.php
原理:
通过表单获取正则规则和匹配的字符串,然后通过preg_match_all()函数,进行正则,然后用implode函数将获得的数组转化为字符串,再输出。
代码:
<div class="big"> <div class="welcome">正则表达式测试工具</div> <div class="menu"> <form action="#" target="_self" method="post"> <p class="input">正 则 规 则 :<input type="text" name="mode"></p> <p class="input">匹配字符串:<input type="text" name="str"></p> <input type="submit" name="sub" value="匹配" class="button"> </form> <p> </p> <?php if(@$_POST[sub]){ $mode="/".@$_POST[mode]."/"; $str=@$_POST[str]; echo "<p class=\"input\">匹配规则是:$mode"; echo "<p class='\"input\"'>您输入的字符串是:$str</p>"; if(preg_match_all($mode,$str,$arr)){ echo "<p class='\"input\"'>匹配成功,匹配结果是:"; echo "<font color='\"#FF0000\"'>".implode(" ",$arr[0])."</font></p>"; }else{ echo "<p class='\"input\"'>匹配失败,请检查正则或匹配字符串</p>"; } } ?> </div> <?php include("../footer.php"); ?> </div>
演示地址:http://zhanzhanggongju.duapp.com/fun/md5.php
原理:通过表单,获取需要加密的内容,然后当选择32位小写时,直接通过md5()函数进行加密;当选择32位大写的时候,把md5()加密以后的内容,在通过strtoupper()函数,将所有小写字母转化为大写;当选择16位的时候,通过substr(“str”,8,16)函数,将加密以后的内容进行截取,截取的规则是,从第8个字符开始,连续截取16个字符。
代码:
<div class="big"> <div class="welcome">md5算法是一种不可逆的加密算法</div> <div class="menu"> <form action="#" target="_self" method="post"> <p class="input">加密内容:<input type="text" name="str"></p> <p class="input"><input type="radio" name="encode" value="32xiao" checked>32位(小) <input type="radio" name="encode" value="32da">32位(大)</p> <p class="input"><input type="radio" name="encode" value="16xiao">16位(小) <input type="radio" name="encode" value="16da">16位(大)</p> <input type="submit" name="sub" value="进行加密" class="button"> </form> <?php if(@$_POST[sub]){ $str=@$_POST[str]; echo "<p class=\"input\">您要加密的内容为:".$str.""; if(@$_POST[encode]=="32xiao"){ echo "<p class='\"input\"'>您选选择的32位小的加密算法</p>"; $result=md5($str); }else if(@$_POST[encode]=="32da"){ echo "<p class='\"input\"'>您选选择的32位大的加密算法</p>"; $result=strtoupper(md5($str,false)); }else if(@$_POST[encode]=="16xiao"){ echo "<p class='\"input\"'>您选选16位小的加密算法</p>"; $result=substr(md5("$str"),8,16); }else if(@$_POST[encode]=="16da"){ echo "<p class='\"input\"'>您选选16位大的加密算法</p>"; $result=strtoupper(substr(md5("$str"),8,16)); } echo "<p class='\"input\"'>加密结果为:"."<font color='\"#FF0000\"'>".$result."</font></p>"; } ?> </div> <?php include("../footer.php"); ?> </div>
演示地址:http://zhanzhanggongju.duapp.com/fun/sha1.php
原理:通过表单获取加密内容,然后当选择40位SHA1小写 时,直接使用sha1()函数进行加密即可;当选择40位SHA1大写的时候,对加密以后的内容再使用strtoupper()函数,进行大小写转换。
代码:
<div class="big"> <div class="welcome">SHA1算法是一种不可逆的加密算法</div> <div class="menu"> <form action="#" target="_self" method="post"> <p class="input">加密内容:<input type="text" name="str"></p> <p class="input"><input type="radio" name="encode" value="xiao" checked>40位SHA1小写 <input type="radio" name="encode" value="da">40位SHA1大写</p> <input type="submit" name="sub" value="进行加密" class="button"> </form> <?php if(@$_POST[sub]){ $str=@$_POST[str]; echo "<p class=\"input\">您要加密的内容为:".$str.""; if(@$_POST[encode]=="xiao"){ echo "<p class='\"input\"'>您选择了40位SHA1小的加密算法</p>"; $result=sha1($str); }else if(@$_POST[encode]=="da"){ echo "<p class='\"input\"'>您选择了40位SHA1大的加密算法</p>"; $result=strtoupper(sha1($str,false)); } echo "<p class='\"input\"'>加密结果为:"."<font color='\"#FF0000\"'>".$result."</font></p>"; } ?> </div> <?php include("../footer.php"); ?> </div>
演示地址:http://zhanzhanggongju.duapp.com/fun/urlen.php
原理:
通过表单获取需要转码(或解码)内容,然后通过urlencode()函数(或urldecode()函数)进行操作。
url转码的代码:
<div class="big"> <div class="welcome">将非数字字母转换为url编码的方法</div> <div class="menu"> <form action="#" target="_self" method="post"> <p class="input">编码内容:<input type="text" name="str"></p> <input type="submit" name="sub" value="进行编码" class="button"> </form> <?php if(@$_POST[sub]){ $str=@$_POST[str]; echo "<p class=\"input\">您要编码的内容为:".$str.""; echo "<p class='\"input\"'>url编码结果:"."<font color='\"#FF0000\"'>".urlencode($str)."</font></p>"; } ?> </div> <?php include("../footer.php"); ?> </div>
演示地址:http://zhanzhanggongju.duapp.com/fun/asciito.php
原理:
通过表单获取需要转换内容,然后通过函数chr()实现ASCII码到字符的转换,通过函数ord()实现字符到ASCII码之间的转换。
由于只有3~126之间的ASCII码,才能进行打印在显示器上,所以该工具只能显示这部分的ASCII码。
ASCII转到字符的代码:
<div class="big"> <div class="welcome">本工具只支持33~126之间的ASCII码查询</div> <div class="menu"> <form action="#" target="_self" method="post"> <p class="input">ASCII码:<input type="text" name="str"></p> <input type="submit" name="sub" value="进行转换" class="button"> </form> <?php if(@$_POST[sub]){ $str=@$_POST[str]; echo "<p class=\"input\">您要转码的字符为:".$str.""; echo "<p class='\"input\"'>ASCII码对应的字符为:"."<font color='\"#FF0000\"'>".chr($str)."</font></p>"; } ?> </div> <?php include("../footer.php"); ?> </div>