截取字符串 <?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
$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+/‘,...
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
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的值。代码的流程为:先序列化代码,然后将里面不希望出现的字符替换...
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] => 吗...
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字符串,解决半字符问题。
* 英文、数字(半角)为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敏感数据 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字符串转义相关的配置和函数如下: 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...
我们可以用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() 函数返回提取的子字符串, 或者在失败时返回 FALSE。语法
substr(string,start,length)参数 描述
string 必需。规定要返回其中一部分的字符串。
start
必需。规定在字符串的何处开始。
非负数 - 从 string 的 start 位置开始,从 0 开始计算.
负数 - 从 string 结尾处向前数第 start 个字符开始。
如果 string 的长度小于或等于 start,将返回 FALSE。length
可选。规定要返回的字符串长度。默认是...
$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中偶尔遇到字符串的压缩,比如一个长字符串,数据库开始设计的字段存不下,但是又不想改数据库字段存储长度,就可以用压缩的方式降低数据字段字符串的长度数量级,把几百个字符的字符串压缩到几十个字符。总结下来有以下几个:压缩函数:gzcompress gzdeflate gzencode与之对应的解压函数如下:解压函数:gzuncompress gzinflate gzdecode特别注意:gzdecode是PHP 5.4.0之后才加入的,使用的时候要注意兼容性问题。gzcompress...
使用“===”来判断,至于它和“==”的区别,简单来说就是前者强调“identical(相同的,完全相同)”类型也要求一样;后者要求“equal(相等)”,值相同就可以了。或者使用strcmp来判断,但是这个能够告诉你两个字符串是否相等,但是无法告诉你在哪里不同。一般能用 !=, == 比较两个对象是否相等,之所以说是两个对象,是因为他们不一定全部为字符串,也能为整型等等。比如复制代码 代码如下:$a = "joe"; $b = "jerry"; if ($a != $...
先来个函数,是最近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...