return preg_replace(array('/(<br\s*\/?>){3,}/i','/( ){3,}/i'),'\\1',$str);
//for example
function mynl2br($str='',$is_xhtml=false){
$str = nl2br($str,$is_xhtml);
}
protected function getAllLinks($str,$mustHas="",$mustNoHas=""){
$links = array();
preg_match_all("/(href)\s*=\s*[\'\"]?(([[a-z]{3,5}:\/\/(([.a-zA-Z0-9-])+(:[0-9]+)*))*([+:%\/\?~=&;\\\(\),._a-zA-Z0-9-]*))(#[.a-zA-Z0-9-]*)?[\'\" ]?(\s*rel\s*=\s*[\'\"]?(nofollow)[\'\"]?)?/i", $str, $regs);
foreach($regs[2] as $link){
if(!empty($mustHas) && (stripos($link,$mustHas)===false)){continue;}
if(!empty($mustNoHas) && (stripos($link,$mustHas)!==false)){continue;}
$links[]=$link;
return $links;
php7 以前,我们使用 session 前都是要先代用 session_strat() 函数来初始化的,但这个函数是没有参数可以传的,session 的配置都在 php.ini 文件中。
在 php7 后 session_start() 可以接受一个 array 作为参数, 用来覆盖 php.ini 文件中设置的会话配置选项。
session_start([ 'cache_limiter' => 'private', //在读取完毕会话数据之后马上关闭会话存储文件 'cookie_lifetime'=>3600, //SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废 'read_and_close'=>true //在读取完会话数据之后, 立即关闭会话存储文件,不做任何修改 ]); $_SESSION['name']='quan'; echo $_SESSION['name'];
?? 与 ?: 的区别
$a = 10; var_dump($a ?? "a"); // 相当于: isset($a) ? $a : 'a' => 输出 10 var_dump($a ?: "b"); // 相当于: $a ? $a : 'a' =>输出 10
如果:
$a = false; var_dump($a ?? "a"); // 相当于: isset($a) ? $a : 'a' => 输出 false var_dump($a ?: "b"); // 相当于: $a ? $a : 'a' =>输出 10
对于标量类型声明:在严格模式下,有一种例外的情况是:当函数参数为float时,传入int型变量不会跑出typeerror,而是正常执行,在返回类型声明中,也是同样的:
<?php declare(strict_types = 1); function test (float $inter) { return $inter; } echo test(2); // 结果为2 function test1(int $inte) : float{ return $inte; } echo test1(1); // 结果为1 ?>
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
2599PHP 可用的函数
return preg_replace(array('/(<br\s*\/?>){3,}/i','/( ){3,}/i'),'\\1',$str);
//for example
function mynl2br($str='',$is_xhtml=false){
$str = nl2br($str,$is_xhtml);
return preg_replace(array('/(<br\s*\/?>){3,}/i','/( ){3,}/i'),'\\1',$str);
}
2554PHP preg_match_all() 函数
protected function getAllLinks($str,$mustHas="",$mustNoHas=""){
$links = array();
preg_match_all("/(href)\s*=\s*[\'\"]?(([[a-z]{3,5}:\/\/(([.a-zA-Z0-9-])+(:[0-9]+)*))*([+:%\/\?~=&;\\\(\),._a-zA-Z0-9-]*))(#[.a-zA-Z0-9-]*)?[\'\" ]?(\s*rel\s*=\s*[\'\"]?(nofollow)[\'\"]?)?/i", $str, $regs);
foreach($regs[2] as $link){
if(!empty($mustHas) && (stripos($link,$mustHas)===false)){continue;}
if(!empty($mustNoHas) && (stripos($link,$mustHas)!==false)){continue;}
$links[]=$link;
}
return $links;
}
254814PHP 7 Session 选项
php7 以前,我们使用 session 前都是要先代用 session_strat() 函数来初始化的,但这个函数是没有参数可以传的,session 的配置都在 php.ini 文件中。
在 php7 后 session_start() 可以接受一个 array 作为参数, 用来覆盖 php.ini 文件中设置的会话配置选项。
25472PHP NULL 合并运算符
?? 与 ?: 的区别
如果:
2546PHP 7 新特性PHP 7+ 版本极大地改进了性能,在一些WordPress基准测试当中,性能可以达到PHP 5.6的3倍。PHP 7+ 版本新加特性如下表所示:序号内容1PHP 标量类型与返回值类型声明
对于标量类型声明:在严格模式下,有一种例外的情况是:当函数参数为float时,传入int型变量不会跑出typeerror,而是正常执行,在返回类型声明中,也是同样的: