【php – 不能在mysql上插入utf8字符(使用utf8 collat​​ion,charset和nameset)】教程文章相关的互联网学习教程文章

老版本PHP转义Json里的特殊字符的函数【代码】

在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON。数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构。比如这么一段 content:复制代码 代码如下: ‘Lorem ipsum "dolor" sit amet, consectetur \ adipiscing elit.‘则必须要转化为:复制代码 代码如下: Lorem ipsum \"dolor\" sit amet,\nconsectetur \\ adipisc...

PHP判断是否为数字型或是否为数字型字符串【代码】

php判断用户输入的是否为数字型或是否为数字型字符串用到is_numeric与intval函数来处理. $value = 1; $value1 =‘1‘; $str =‘abc‘; if( is_numeric( $value ) ) { echo $value.‘是数字型‘; } //1是数字型 if( is_numeric( $value1) ) { echo $value1.‘是数字型‘; } else { echo $value1.‘不是数字型‘; }第二、php是弱语言型,所以会自动把数字型字符转换成数字了,实例代码如下://abc不是数字 if( intval( $str...

php实现中文反转字符串的方法【代码】

1 <?php2 3header("content-type:text/html;charset=utf-8");4/**5此函数的作用是反转中文字符串6mb_strlen() 获取字符的长度7mb_substr() 获取字符的单个元素8krsort() 按照键值逆序排序数组9implode() 将数组拼接为字符串 10explode() 使用字符串分隔字符串 11*/12function str_rev_gb($str){ 13//判断输入的是不是utf8类型的字符,否则退出14if(!is_string($str)||!mb_check_encoding($str,‘UTF-8‘)){ 15exit("输入类型不是UT...

PHP处理base64编码字符串【代码】

接收前端传过来的base64编码后的字符串, 如果是json字符串, 那么PHP使用file_get_contents(‘php://input‘); 来接收. 本次这里是以post传参的形式传base64字符串. $photo = \Yii::$app->request->post(‘photo‘, ‘‘); //yii接收,photo变量存储的即base64字符串 设置base64转成图片后要保存的文件名 以及 路径 $filename = date(‘YmdHis‘).rand(1111,9999).‘.png‘; $path = \Yii::$app->basePath.‘/web/temp‘;if(!is_d...

php中过滤非法字符的具体实现

复制代码 代码如下:<?php class sqlsafe { private $getfilter = "‘|(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)"; private $postfilter = "\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+...

php echo字符串的连接格式【代码】

echo "<td align=\"center\"><img src=\"";1. \" \"2. echo <<<theEndline 1line 2line etheEnd 实例随机三张图片(banner) 1 <?php2$pictures = array(‘tire.jpg‘, ‘oil.jpg‘, ‘spark_plug.jpg‘,3 ‘door.jpg‘, ‘steering_wheel.jpg‘,4 ‘thermostat.jpg‘, ‘wiper_blade.jpg‘,5 ‘gasket.jpg‘, ‘brake_pad.jpg‘);6 7shuffle($pictures);8 ?>9 <...

字符串在PHP比较运算中的变化【代码】

由于PHP的弱类型性质,你可以做一些奇怪的事情,其中??一些是好的,其中一些将使你掉到坑里面去。比如: echo‘1‘+5; 在某些语言中,这可能会导致程序崩溃,但PHP会尝试将任何字符串计算为整数。在这种情况下,它将字符串转换为整数1,并将其添加到5以生成6。顺便说一句,如果你在JavaScript中这样做,那么你会发现相反的结果。因为连接字符与添加字符相同,如果任何当前值是字符串,JavaScript将始终尝试截断该值。所以JavaScrip...

PHP生成指定随机字符串的简单实现方法【代码】

本文实例讲述了PHP生成指定随机字符串的简单实现方法。分享给大家供大家参考。具体分析如下:这是一个简单的函数,没有对生成的内容作强制设定。所以在生成的字符串长度较少的时候,会出现没有指定类型字符的情况。当然,修改起来也很简单,这里就不做添加了。 /*** @param string $type* @param $length* @return string*/ function randomString($type="number,upper,lower",$length){$valid_type = array(‘number‘,‘upper‘,...

PHP中利用substr_replace将指定两位置之间的字符替换为*号

复制代码 代码如下:$username = "zongzi"; echo substr_replace($username,‘**‘,‘1‘,‘2‘); 原文:http://www.jb51.net/article/26149.htm

php中截取字符串支持utf-8

截取字符串 <?php $string="2006年4月我又长大了一岁!"; echo substr($string,1)."..."; //截取字符串 function SubstrGB($in,$num) { $pos=0; $out=""; while($pos<strlen($in)) { $c=substr($in,$pos,1); if($c=="\n") break; if(ord($c)>128) { $out.=$c; $pos++; $c=substr($in,$pos,1); $out.=$c; } else { $out.=$c; } $pos++; if($pos>=$num) break; } return $out; }...

php处理文件的思考(去除每行多余字符)【代码】

第一种方式,数组处理<?php $str = file_get_contents(‘a.txt‘); $arr = explode(PHP_EOL,$str); $result = array(); foreach($arras$v) {$result[] = trim(substr($v,6)); } $result = array_filter($result); $text = ‘‘; foreach($resultas$v) {$text .= $v.PHP_EOL; } file_put_contents(‘b.txt‘,$text); ?>第二种方式,正则直接替换<?php $str = file_get_contents(‘a.txt‘); $result = preg_replace(‘/\d+\.\s+/‘,...

php对字符串的操作4之 字符串的格式化函数【代码】【图】

strtolower($str )strtoupper($str )大小写转换 strtotime(‘2018-1-1 0:0‘)字符串转时间戳 date(‘Y-m-d H:i:s‘,time())格式化时间戳 md5()加密 trim()移除字符串两侧的空白字符(可特指)。 strip_tags()过滤(删除)html标签(可特指保留) htmlspecialchars()将特殊字符(标签)转换为html实体(非标签)htmlspecialchars_decode还原 <?php //大小写转换$str = ‘WWW.BAIDU.COM‘; echo$str = strtolower($str ),‘<hr>‘; ech...

PHP反序列化字符逃逸详解【代码】【图】

这段时间遇到几个关于反序列化的字符逃逸的程序,今天来分享一下经验。<?php function filter($str){return str_replace(‘bb‘, ‘ccc‘, $str); } class A{public $name=‘aaaa‘;public $pass=‘123456‘; } $AA=new A(); $res=filter(serialize($AA));$c=unserialize($res); echo $c->pass;?> 以上面代码为例,如何在不直接修改$pass值的情况下间接修改$pass的值。代码的流程为:先序列化代码,然后将里面不希望出现的字符替换...

php把一个字符串分割成字符数组(可以用参数指定数组每个元素字符的长度)【代码】

function str_split_unicode($str, $l = 0) {if ($l > 0) {$ret = array();$len = mb_strlen($str, "UTF-8");for ($i = 0; $i < $len; $i += $l) {$ret[] = mb_substr($str, $i, $l, "UTF-8");}return$ret;}returnpreg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY); }例子:$s = ‘abc你好吗defgh‘; $strArr = str_split_unicode($s); print_r($strArr);输出:Array ( [0] => a [1] => b [2] => c [3] => 你 [4] => 好 [5] => 吗...

php 常用字符串函数总结

1.格式化输出 chop 是rtrim()的别名; ltrim() trim() nl2br()将\n转换成<br> print,echo,printf(),sprintf(): echo()不是函数,print()是函数,有返回值,boolen,false,true; printf()格式化输出 --函数,把文字格式化以后输出,直接调用系统调用进行IO的,他是非缓冲的。如: $name="hunte"; $age=25; printf("my name is %s, age %d", $name, $age); sprintf()格式化字符串,然后赋给一个变量,但是不输出,类似于c了 <?p...