【php / mysql – 外来字符】教程文章相关的互联网学习教程文章

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...

php截取utf-8中文字符串乱码的解决方法【代码】

/** * PHP截取UTF-8字符串,解决半字符问题。 * 英文、数字(半角)为1字节(8位),中文(全角)为2字节 * @return 取出的字符串, 当$len小于等于0时, 会返回整个字符串 * @param $str 源字符串 * $len 左边的子串的长度 */function utf_substr($str,$len){for($i=0;$i<$len;$i++){$temp_str=substr($str,0,1);if(ord($temp_str) > 127){if($i<$len){$new_str[]=substr($str,0,3);$str=substr($str,3);}}else{$new_str[]=substr($...

php过滤所有恶意字符(批量过滤post,get敏感数据)

函数代码:复制代码 代码如下://php 批量过滤post,get敏感数据 if (get_magic_quotes_gpc()) { $_GET = stripslashes_array($_GET); $_POST = stripslashes_array($_POST); } function stripslashes_array(&$array) { while(list($key,$var) = each($array)) { if ($key != ‘argc‘ && $key != ‘argv‘ && (strtoupper($key) != $key || ‘‘.intval($key) == "$key")) { if (is_string($var)) { $array[$key] = stripslashes($v...

PHP字符串转义

与PHP字符串转义相关的配置和函数如下: 1.magic_quotes_runtime 2.magic_quotes_gpc 3.addslashes()和stripslashes() 4.mysql_escape_string() 5.addcslashes()和stripcslashes() 6.htmlentities() 和html_entity_decode() 7.htmlspecialchars()和htmlspecialchars_decode() 当magic_quotes_runtime打开时,php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反斜线。 可以使用set_magic_quotes_runti...

php页面编码与字符操作【代码】【图】

我们可以用header来定义一个php页面为utf编码或GBK编码,也可以在html中用meta标签来指定编码例如:php页面为utf编码 header("Content-type: text/html; charset=utf-8");我们通常使用header或meta,下面说一说两者的区别 一、采用meta页面编码 用meta来设置页面编码1<meta http-equiv="content-type" content="text/html; charset=编码类型"> 作用是:声明客户端的浏览器用什么字符集编码显示该页面,起到通知浏览器的作用。...

php字符串函数学习之substr()

<?php /* 定义和用法 substr() 函数返回提取的子字符串, 或者在失败时返回 FALSE。语法 substr(string,start,length)参数 描述 string 必需。规定要返回其中一部分的字符串。 start 必需。规定在字符串的何处开始。 非负数 - 从 string 的 start 位置开始,从 0 开始计算. 负数 - 从 string 结尾处向前数第 start 个字符开始。 如果 string 的长度小于或等于 start,将返回 FALSE。length 可选。规定要返回的字符串长度。默认是...

PHP 字符串截取()[]{} 中内容【代码】

$str="你好<我>(爱)[北京]{天安门}"; echo f1($str); //返回你好 echo f2($str); //返回我 echo f3($str); //返回爱 echo f4($str); //返回北京 echo f5($str); //返回天安门function f1($str) { $result = array(); preg_match_all("/^(.*)(?:<)/i",$str, $result); return$result[1][0]; } function f2($str) { $result = array(); preg_match_all("/(?:<)(.*)(?:>)/i",$str, $result); return$result[1][0]; } functi...

PHP字符串压缩【代码】【图】

在PHP中偶尔遇到字符串的压缩,比如一个长字符串,数据库开始设计的字段存不下,但是又不想改数据库字段存储长度,就可以用压缩的方式降低数据字段字符串的长度数量级,把几百个字符的字符串压缩到几十个字符。总结下来有以下几个:压缩函数:gzcompress gzdeflate gzencode与之对应的解压函数如下:解压函数:gzuncompress gzinflate gzdecode特别注意:gzdecode是PHP 5.4.0之后才加入的,使用的时候要注意兼容性问题。gzcompress...

基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解

使用“===”来判断,至于它和“==”的区别,简单来说就是前者强调“identical(相同的,完全相同)”类型也要求一样;后者要求“equal(相等)”,值相同就可以了。或者使用strcmp来判断,但是这个能够告诉你两个字符串是否相等,但是无法告诉你在哪里不同。一般能用 !=, == 比较两个对象是否相等,之所以说是两个对象,是因为他们不一定全部为字符串,也能为整型等等。比如复制代码 代码如下:$a = "joe"; $b = "jerry"; if ($a != $...

php实现处理输入转义字符的代码【代码】

先来个函数,是最近WordPress 3.6中刚刚引入的/*** Add slashes to a string or array of strings.** This should be used when preparing data for core API that expects slashed data.* This should not be used to escape data going directly into an SQL query.** @since 3.6.0** @param string|array $value String or array of strings to slash.* @return string|array Slashed $value*/ function wp_slash( $value ) {if...