php传给js,然后js将数据显示在网页上,如果存在特殊字符如:' 半角单引号, 半角双引号,或者和html实体符号相关的 amp; 就会出现各种显示上的问题 php部分先将这些特殊的字符转义 ?phpfunction arrayRecursive($array){ foreach ($array as $key = $value)
php传值给js,然后js将数据显示在网页上,如果存在特殊字符如:' 半角单引号," 半角双引号,或者和html实体符号相关的 & 就会出现各种显示上的问题
php部分先将这些特殊的字符转义
<?php function arrayRecursive(&$array){ foreach ($array as $key => $value) { if (is_array($value)) { arrayRecursive($array[$key]);//如果是数组就进行递归操作 } else { if(is_string($value)){ $temp1= addslashes($value); $array[$key]= urlencode($temp1);//如果是字符串就urlencode }else{ $array[$key] = $value; } } } } function JSON($result) { $array=$result; arrayRecursive($array);//先将类型为字符串的数据进行 urlencode $json = json_encode($array);//再将数组转成JSON return urldecode($json);//最后将JSON字符串进行urldecode } $data = '"+123+'."'+&+"+<span class='\"new\"'>+&123"; // $data = '<script>var a=1;</script>'; $arr_data = Array( 'data' => Array( '1'=>$data, '2'=>$data, '3'=> Array( '123'=>'123', '123'=>'123', '123'=>'123' ) ) ); function arrayRecursive2(&$array){ $search = array ( "'&'i",//转换and符号 "'\"'i",//转换半角双引号 "'\''i",//转换半角单引号 "''i"//转换大于号 ); $replace = array ( "&", """, "'", "<", ">" ); foreach ($array as $key => $value) { if (is_array($value)) { arrayRecursive2($array[$key]);//如果是数组就进行递归操作 } else { if(is_string($value)){ $array[$key] = preg_replace($search, $replace, $value); }else{ $array[$key] = $value; } } } } function replace_html_entity($result){ $origin = $result; arrayRecursive2($origin); return $origin; } $encode_array = replace_html_entity($arr_data); echo JSON($encode_array); ?></span>
接着是js接受和html显示,以及div,span,input,textarea等相互转换显示的时候的问题:
<meta http-equiv="Content-Type" content="text/html" charset="utf-8"> <title>无标题文档</title> <div id="J_div1"></div> <span id="J_span1"></span> <input type="text" id="J_input" value="" autocomplete="off" name="J_input"> <textarea cols="60" rows="4" id="J_textarea" value="" autocomplete="off" name="J_textarea"></textarea> <input type="hidden" id="J_hidden" value="" name="J_hidden"> <div id="J_div3"></div> <span id="J_span3"></span> <input type="text" id="J_input2" value="" autocomplete="off" name="J_input2"> <textarea cols="60" rows="4" id="J_textarea2" value="" autocomplete="off" name="J_textarea2"></textarea> <input type="hidden" id="J_hidden2" value="" name="J_hidden2"> <script type="text/javascript" src="jquery-1.8.3.min.js"></script> <script type="text/javascript"> function change_to_html_entity(string){ string=string.replace(/&/g,"&"); string=string.replace(/"/g,"""); string=string.replace(/'/g,"'"); string=string.replace(/,"<"); string=string.replace(/>/g,">"); return string; } function change_to_origin(string){ string=string.replace(/"/g,'"'); string=string.replace(/'/g,"'"); string=string.replace(/</g,"<"); string=string.replace(/>/g,">"); string=string.replace(/&/g,"&"); return string; } var string1,string2; var div_tpl = '<div id="J_div2">{word}'; var span_tpl = '<span id="J_span2">{word}'; $.ajax({ type: "POST", url: "getdata3.php", dataType:"JSON", success:function(data){ string1 = data.data[1]; string2 = change_to_origin(string1); $('#J_div1').html(string1); $('#J_span1').html(string1); $('#J_input').val(string2); $('#J_textarea').val(string2); $('#J_hidden').val(string2); $('body').append(div_tpl.replace('{word}',string1)); $('body').append(span_tpl.replace('{word}',string1)); $('#J_div3').text($('#J_hidden').val()); $('#J_span3').text($('#J_hidden').val()); $('#J_input2').val($('#J_div3').text()); $('#J_textarea2').val($('#J_span3').text()); $('#J_hidden2').val($('#J_span3').text()); } }); </script>
至于从这些div,span,input,textarea中取出,通过js传给php时候的问题,在后一篇文章中。。。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Atom编辑器mac版下载
最流行的的开源编辑器

记事本++7.3.1
好用且免费的代码编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),