站三界导航
首页 PHP代码
  • PHP如何检测字符串里有没有繁体字
    PHP如何检测字符串里有没有繁体字

    检测UTF-8字符串里有没有繁体字,我们可以使用iconv()这个函数,然后将字符串的编码由UTF-8转换成GB2312,这个方法的原理是:GB2312是简体中文的字符集,如果将含有繁体字的字符串转换成GB2312编码,iconv函数会返回false。不说那么多了,下面直接上代码:<?php/***站三界导航www.zhansanjie.com*检测一个UTF-8字符串里是否包含繁体中文*@paramstring$str*@returnbool*/functionis_cn_traditional($str){returniconv('UTF-8','GB2312',$str)===false?true:false;}$ft_str='這是繁體中文';$jt_str='这是简体中文';var_dump(is_cn_traditional($ft_str));//输出truevar_dump(is_cn_traditional($jt_str));//输出false?>注意:对于一些比较特殊的字,上面的函数并没有做处理,所以识别可能会有误。例如乾(gan)淨的“乾”和乾(qian)坤的“乾”字,都是“乾”字,但它在第一个词语里是繁体字,在第二个词语里就变成简体字了一些不在GB2312字符集里的字符(例如韩语)也会被误当成是繁体字

    • PHP代码
    • 67阅读
    • 2022-10-08

  • PHP字符串替换
    PHP字符串替换

    在PHP中,可以对一个字符串中的特定字符或子串进行替换,这是非常常用的功能。str_ireplace()和str_replace()函数str_ireplace()和str_replace使用新的字符串替换原来字符串中指定的特定字符串,str_replace区分大小写,str_ireplace()不区分大小写,两者语法相似。str_ireplace()的语法如下:mixedstr_ireplace(mixed$search,mixed$replace,mixed$subject[,int&$count])该函数返回一个字符串或者数组。该字符串或数组是将subject中全部的search用replace替换(忽略大小写)之后的结果。参数count表示执行替换的次数。使用示例如下:<?php$str='hello,world,hello,world';$replace='hi';$search='hello';echostr_ireplace($search,$replace,$str);?>执行以上代码的输出结果为:hi,world,hi,worldsubstr_replace()函数substr_replace()函数的语法如下:mixedsubstr_replace(mixed$string,mixed$replacement,mixed$start[,mixed$length])substr_replace()在字符串string的副本中将由start和可选的length参数限定的子字符串使用replacement进行替换。如果start为正数,替换将从string的start位置开始。如果start为负数,替换将从string的倒数第start个位置开始。如果设定了length参数并且为正数,就表示string中被替换的子字符串的长度。如果设定为负数,就表示待替换的子字符串结尾处距离string末端的字符个数。如果没有提供此参数,那么默认为strlen(string)(字符串的长度)。当然,如果length为0,那么这个函数的功能为将replacement插入string的start位置处。该函数的使用示例如下:<?php$str='hello,world,hello,world';$replace='hi';echosubstr_replace($str,$replace,0,5);?>以上代码的执行结果为:hi,world,hello,world

    • PHP代码
    • 59阅读
    • 2022-10-08

  • php数组合并有几种方式
    php数组合并有几种方式

    php数组合并有4种方式,分别为:1、使用加号“+”运算符,语法“数组1+数组2+..”;2、使用array_push()函数;3、使用array_merge()函数;4、使用array_merge_recursive()函数。1、使用加号“+”运算符:直接将两个数组的值合并成为一个数组;$a=[1,2,3,'a'=>'a'];$b=['a'=>'b',4,5,'b'=>'c',6,7,'a'];$c=$a+$b;print_r($a);print_r($b);print_r($c);//$aArray([0]=>1[1]=>2[2]=>3[a]=>a)//$bArray([a]=>b[0]=>4[1]=>5[b]=>c[2]=>6[3]=>7[4]=>a)//$cArray([0]=>1[1]=>2[2]=>3[a]=>a[b]=>c[3]=>7[4]=>a)采用"+"合并数组,如果键相同的情况下,前面的数组值会覆盖掉后面的数组值。2、使用array_push()函数将某个变量放入到另一个数组当中$a=[1,'a'=>'aa',2,'b'=>'bb'];$b=[1,'a'=>'aa',2,'b'=>'bb'];print_r($a);print_r($b);array_push($a,$b);print_r($a);//$aArray([0]=>1[a]=>aa[1]=>2[b]=>bb)//$bArray([0]=>1[a]=>aa[1]=>2[b]=>bb)//array_push过后的$aArray([0]=>1[a]=>aa[1]=>2[b]=>bb[2]=>Array([0]=>1[a]=>aa[1]=>2[b]=>bb))通过打印的值可以看出,变量进入数组后,对应的数字索引必然是当前数组中最小的数字索引+1(如果当前数组不存在数字索引,新增元素对应的索引为0)3、使用array_merge()函数直接将两个数组进行合并,两个数组键相同的情况,后面数组的值覆盖前面数组的值$a=[1,'2'=>2,'a'=>'a','b'=>'b'];$b=[1,'2'=>3,'a'=>'c','b'=>'d','c'=>'e'];$c=array_merge($a,$b);print_r($a);print_r($b);print_r($c);//$aArray([0]=>1[2]=>2[a]=>a[b]=>b)//$bArray([0]=>1[2]=>3[a]=>c[b]=>d[c]=>e)//$cArray([0]=>1[1]=>2[a]=>c[b]=>d[2]=>1[3]=>3[c]=>e)可以看出,两个数组键相同的情况,后面数组的值覆盖前面数组的值。但是对于数字索引或者数字字符串索引,会按照顺序进行重置(第一个数组的第一个数字索引元素从0开始依次填充)4、使用array_merge_recursive()函数合并数组,遇到相同的键将该键中值合并为一个子数组$a=[1,'2'=>2,'a'=>'a','b'=>'b'];$b=[1,'2'=>3,'a'=>'a','b'=>'d','c'=>'e'];$c=array_merge_recursive($a,$b);print_r($a);print_r($b);print_r($c);//$aArray([0]=>1[2]=>2[a]=>a[b]=>b)//$bArray([0]=>1[2]=>3[a]=>a[b]=>d[c]=>e)//$cArray([0]=>1[1]=>2[a]=>Array([0]=>a[1]=>a)[b]=>Array([0]=>b[1]=>d)[2]=>1[3]=>3[c]=>e)采用"array_merge_recursive"方法时,会将相同键的元素,整合成为一个新的数组,保持键名不变,作为合并数组($a与$b组合后的数组)的一个子元素。但是对于数字索引或者数字字符串索引,会按照顺序进行重置(第一个数组的第一个数字索引元素从0开始依次填充)。即使对应的数字索引相同,也不会将相同索引的元素整合成功一个子数组。

    • PHP代码
    • 151阅读
    • 2022-10-02

  • php  filter_var() 函数详解、过滤器、验证函数
    php filter_var() 函数详解、过滤器、验证函数

    PHPfilter_var()函数一直以来,都是用正则表达式来进行email的格式验证,却不知道PHP本身有内置的过滤方法,在此记录一下,以免忘了。W3School描述如下:定义和用法filter_var()函数通过指定的过滤器过滤变量。如果成功,则返回已过滤的数据,如果失败,则返回false。语法filter_var(variable,filter,options)参数描述variable必需。规定要过滤的变量。filter可选。规定要使用的过滤器的ID。options规定包含标志/选项的数组。检查每个过滤器可能的标志和选项。提示和注释提示:参见完整的PHPFilter参考手册,查看可与该函数一同使用的过滤器。例子<?phpif(!filter_var("https://www.zhansanjie.com",FILTER_VALIDATE_URL)){echo("域名有效");}else{echo("域名无效");}?>输出类似:域名无效PHPFilter简介PHP过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。安装filter函数是PHP核心的组成部分。无需安装即可使用这些函数。PHPFilter函数PHP:指示支持该函数的最早的PHP版本。函数描述PHPfilter_has_var()检查是否存在指定输入类型的变量。5filter_id()返回指定过滤器的ID号。5filter_input()从脚本外部获取输入,并进行过滤。5filter_input_array()从脚本外部获取多项输入,并进行过滤。5filter_list()返回包含所有得到支持的过滤器的一个数组。5filter_var_array()获取多项变量,并进行过滤。5filter_var()获取一个变量,并进行过滤。5PHPFiltersID名称描述FILTER_CALLBACK调用用户自定义函数来过滤数据。FILTER_SANITIZE_STRING去除标签,去除或编码特殊字符。FILTER_SANITIZE_STRIPPED"string"过滤器的别名。FILTER_SANITIZE_ENCODEDURL-encode字符串,去除或编码特殊字符。FILTER_SANITIZE_SPECIAL_CHARSHTML转义字符'"<>&以及ASCII值小于32的字符。FILTER_SANITIZE_EMAIL删除所有字符,除了字母、数字以及!#$%&'*+-/=?^_`{|}~@.[]FILTER_SANITIZE_URL删除所有字符,除了字母、数字以及$-_.+!*'(),{}|//^~[]`<>#%";/?:@&=FILTER_SANITIZE_NUMBER_INT删除所有字符,除了数字和+-FILTER_SANITIZE_NUMBER_FLOAT删除所有字符,除了数字、+-以及.,eE。FILTER_SANITIZE_MAGIC_QUOTES应用addslashes()。FILTER_UNSAFE_RAW不进行任何过滤,去除或编码特殊字符。FILTER_VALIDATE_INT在指定的范围以整数验证值。FILTER_VALIDATE_BOOLEAN如果是"1","true","on"以及"yes",则返回true,如果是"0","false","off","no"以及"",则返回false。否则返回NULL。FILTER_VALIDATE_FLOAT以浮点数验证值。FILTER_VALIDATE_REGEXP根据regexp,兼容Perl的正则表达式来验证值。FILTER_VALIDATE_URL把值作为URL来验证。FILTER_VALIDATE_EMAIL把值作为e-mail来验证。FILTER_VALIDATE_IP把值作为IP地址来验证

    • PHP代码
    • 247阅读
    • 2022-09-30

  • PHP trim()的使用
    PHP trim()的使用

    1、去除字符串首尾处的空白字符(或者其他字符)2、说明:trim(string$str[,string$character_mask="\t\n\r\0\x0B"]):string此函数返回字符串str去除首尾空白字符后的结果。如果不指定第二个参数,trim()将去除这些字符:""(ASCII32(0x20)),普通空格符。"\t"(ASCII9(0x09)),制表符。"\n"(ASCII10(0x0A)),换行符。"\r"(ASCII13(0x0D)),回车符。"\0"(ASCII0(0x00)),空字节符。"\x0B"(ASCII11(0x0B)),垂直制表符。3、参数:str            待处理的字符串。character_mask   可选参数,过滤字符也可由character_mask参数指定。一般要列出所有希望过滤的字符,也可以使用“..”列出一个字符范围。4*、使用:(1)、删除默认指定的字符$string="\t|\zhangsan";echotrim($string);//输出:|\zhangsan(2)、删除自定义的字符(两边相同)$string="<pre>deletetag!!!<pre>";echotrim($string,"<pre>")//输出:deletetag!!!(3)、删除自定义的字符(两边不同)$string="deletetag!!!";echotrim($string,"de!")//输出:letetag5、相似方法ltrim()-删除字符串开头的空白字符(或其他字符)rtrim()-删除字符串末端的空白字符(或者其他字符)

    • PHP代码
    • 149阅读
    • 2022-09-30

  • PHP截取中文字符串mb_substr的使用
    PHP截取中文字符串mb_substr的使用

    mb_substr(PHP4>=4.0.6,PHP5,PHP7)mb_substr—Getpartofstringmb_substr—获取部分字符串Descriptionstringmb_substr(string$str,int$start[,int$length=NULL[,string$encoding=mb_internal_encoding()]])//Performsamulti-bytesafesubstr()operationbasedonnumberofcharacters.Positioniscountedfrom//thebeginningofstr.Firstcharacter'spositionis0.Secondcharacterpositionis1,andsoon.//根据字符数执行一个多字节安全的substr()操作。位置是从str的开始位置进行计数。第一个字符的位置是0。第二个字符的位置是1,以此类推。ParametersstrThestringtoextractthesubstringfrom.从该string中提取子字符串。startIfstartisnon-negative,thereturnedstringwillstartatthestart'thpositioninstr,countingfromzero.Forinstance,inthestring'abcdef',thecharacteratposition0is'a',thecharacteratposition2is'c',andsoforth.如果start不是负数,返回的字符串会从str第start的位置开始,从0开始计数。举个例子,字符串'abcdef',位置0的字符是'a',位置2的字符是'c',以此类推。Ifstartisnegative,thereturnedstringwillstartatthestart'thcharacterfromtheendofstr.如果start是负数,返回的字符串是从str末尾处第start个字符开始的。lengthMaximumnumberofcharacterstousefromstr.IfomittedorNULLispassed,extractallcharacterstotheendofthestring.str中要使用的最大字符数。如果省略了此参数或者传入了NULL,则会提取到字符串的尾部。encodingTheencodingparameteristhecharacterencoding.Ifitisomitted,theinternalcharacterencodingvaluewillbeused.encoding参数为字符编码。如果省略,则使用内部字符编码。ReturnValuesmb_substr()returnstheportionofstrspecifiedbythestartandlengthparameters.mb_substr()函数根据start和length参数返回str中指定的部分。Changelog5.4.8-PassingNULLaslengthextractsallcharacterstotheendofthestring.PriortothisversionNULLwastreatedthesameas0.Examples<?php$string="0123456789你好";/**start>0length>0*/$mystring=mb_substr($string,5,1);echo$mystring.PHP_EOL;//5$mystring=mb_substr($string,5,2);echo$mystring.PHP_EOL;//56$mystring=mb_substr($string,10,2);echo$mystring.PHP_EOL;//你好/**start<0length>0*/$mystring=mb_substr($string,-2,2);echo$mystring.PHP_EOL;//你好echo'mb_strlen:'.mb_strlen($string).PHP_EOL;//12$mystring=mb_substr($string,-mb_strlen($string),2);echo$mystring.PHP_EOL;//01$mystring=mb_substr($string,-3,2);echo$mystring.PHP_EOL;//9你/**start>0length<0*/$mystring=mb_substr($string,5,-1);echo$mystring.PHP_EOL;//56789你$mystring=mb_substr($string,0,-mb_strlen($string)+1);echo$mystring.PHP_EOL;//0$mystring=mb_substr($string,5,-5);echo$mystring.PHP_EOL;//56/**start<0length<0*/$mystring=mb_substr($string,-10,-1);echo$mystring.PHP_EOL;//23456789你$mystring=mb_substr($string,-5,-1);echo$mystring.PHP_EOL;//789你functionmb_ucfirst($str,$enc='utf-8'){returnmb_strtoupper(mb_substr($str,0,1,$enc),$enc).mb_substr($str,1,mb_strlen($str,$enc),$enc);}echomb_ucfirst("helloworld你好中国").PHP_EOL;//Helloworld你好中国/***@param$string*@paramstring$encoding**@returnarray*/functionget_character_classes($string,$encoding="UTF-8"){$current_encoding=mb_internal_encoding();mb_internal_encoding($encoding);$has=array();$stringlength=mb_strlen($string,$encoding);for($i=0;$i<$stringlength;$i++){$c=mb_substr($string,$i,1);if(($c>="0")&&($c<="9")){$has['numeric']="numeric";}elseif(($c>="a")&&($c<="z")){$has['alpha']="alpha";$has['alphalower']='alphalower';}elseif(($c>="A")&&($c<="Z")){$has['alpha']="alpha";$has['alphaupper']="alphaupper";}elseif(($c=="$")||($c=="£")){$has['currency']="currency";}elseif(($c==".")&&($has['decimal'])){$has['decimals']="decimals";}elseif($c=="."){$has['decimal']="decimal";}elseif($c==","){$has['comma']="comma";}elseif($c=="-"){$has['dash']="dash";}elseif($c==""){$has['space']="space";}elseif($c=="/"){$has['slash']="slash";}elseif($c==":"){$has['colon']="colon";}elseif(($c>="")&&($c<="~")){$has['ascii']="ascii";}else{$has['binary']="binary";}}mb_internal_encoding($current_encoding);return$has;}$string="1234asdfA£^_{}|}~žščř";foreach(get_character_classes($string)as$k=>$v){echo$k.":".$v.PHP_EOL;}//numeric:numeric//alpha:alpha//alphalower:alphalower//alphaupper:alphaupper//currency:currency//ascii:ascii//binary:binary

    • PHP代码
    • 139阅读
    • 2022-09-29

  • 详解PHP字符串替换str_replace()函数四种用法
    详解PHP字符串替换str_replace()函数四种用法

    下面通过本文给大家分享PHP字符串替换str_replace()函数4种用法,具体内容如下所示:mixedstr_replace(mixed$search,mixed$replace,mixed$subject[,int&$count])该函数返回一个字符串或者数组。该字符串或数组是将subject中全部的search都被replace替换之后的结果。1、$search,要替换的字符串,或数组2、$replace,被用来替换的字符串或数组3、$subject,被查询的字符串或数组4、$count,可选,如果被指定,将为设置为替换的次数5、返回值:该函数返回替换后的数组或者字符串(新生成的)<?php//实例一:字符串替换字符串$str1=str_replace("red","black","redgreenyellowpinkpurple");echo$str1."";//输出结果为blackgreenyellowpinkpurple?><?php//实例二:字符串替换数组键值$arr=array("blue","red","green","yellow");$str1=str_replace("red","pink",$arr,$i);print_r($str1);?><?php//实例三:数组替换数组,映射替换$arr1=array("banana","orange");$arr2=array("pitaya","tomato");$con_arr=array("apple","orange","banana","grape");$con_rep=str_replace($arr1,$arr2,$con_arr,$count);print_r($con_rep);?><?php//实例四:如$search为数组,$replace为字符串时$search=array("banana","grape");$replace="tomato";$arr=array("banana","apple","orange","grape");$new_arr=str_replace($search,$replace,$arr,$count);print_r($new_arr);?>总结以上所述是江南给大家介绍的PHP字符串替换str_replace()函数四种用法,希望对大家有所帮助。

    • PHP代码
    • 154阅读
    • 2022-09-27

  • php将数组转为字符串的方法
    php将数组转为字符串的方法

    php脚本中可以使用implode()或json_encode函数将数组转字符串,但他们转换的字符串格式是不同的,其操作方法可以参考下面的文章。php数组转字符串的方法1、implode()函数将数组转为字符串implode():可以将数组转为字符串。语法:implode(separator,array)参数:separator:可选,规定数组元素之间放置的内容。默认是""(空字符串)。array:必需。要组合为字符串的数组。例1:$array=array('站','三','界','导','航');echoimplode($array);//站三界导航例2:$array=array('站','三','界','导','航');echoimplode('|',$array);//站|三|界|导|航2、json_encode函数将数组转为JSON格式的字符串 json_encode:可以将数组转为字符串,但是json格式的字符,一般用于数据的传输。例:$array=array('站','三','界','导','航');echojson_encode($array,JSON_UNESCAPED_UNICODE);//["站","三","界","导","航"]

    • PHP代码
    • 150阅读
    • 2022-09-27

  • 判断是否URL网址(PHP代码/函数)
    判断是否URL网址(PHP代码/函数)

    //判断是否URL网址(PHP代码/函数)//代码来源:www.zhansanjie.comfunctionis_url($v){$pattern="#(http|https)://(.*\.)?.*\..*#i";if(preg_match($pattern,$v)){returntrue;}else{returnfalse;}}

    • PHP代码
    • 151阅读
    • 2022-09-27

  • php嵌入html代码的三种方法
    php嵌入html代码的三种方法

    php中添加HTML代码,就是php类型的文件中添加html代码~第一种是在HTML中加PHP。大段大段的html代码中,在各个需要执行php的地方<?php....?>比如line7-9:1<head>2<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>3<metahttp-equiv="Content-Language"content="zh-CN"/>4<title>HelloWorld</title>5</head>6<body>7<?php8echo"Helloworld!这是正文";9?>10</body>11</html>第二种用echo输出HTML。因为HTML有的元素中有双引号,所以用echo输出的内容用单引号括起来,避免出错,也省了转义这一步。比如这样的代码:<?phpif(!$_POST){echo‘<formaction=""method="post">服务器地址:<inputtype="text"name="host"value="localhost"/><br/>数据库账号:<inputtype="text"name="user"value=""/><br/>数据库密码:<inputtype="password"name="pwd"value=""/><br/>指定数据库:<inputtype="text"name="db"value="test"/><br/><inputtype="submit"value="确定"/></form>‘;}?>或者这种加了转义符号的:<?phpecho"<inputtype=\"submit\"value=\"确定\"/>";?>第三种就是用(<<<)标记符了,这是在PHP168的模板代码中首次见到的。<?phpprint<<<EOT<divclass="slidecont">{$label[deepblue_mainslide]}</div><divclass="newcontainter"><divclass="head">{$label[deepblue_mainh1]}</div><divclass="cont"id="Tab1">{$label[deepblue_maint1]}</div><divclass="cont"id="Tab2">{$label[deepblue_maint2]}</div></div><ahref="$rs[url]"title="$rs[descrip]"target="_blank">$rs[name]</a>EOT;?>“<<<EOT”和“EOT;”中间的文档直接输出,一个比较好理解的说法是“一个多行的echo”。优点是输出大段HTML方便,不需要转义,而且可以引用变量。但是在使用(<<<EOT)标记符还有一点需要注意:标识符结束字符串既EOT;要独占一行,前后都不许再有内容,否则这个php文件就相当于废了。这里的EOT标记可以替换成任意标记比如 print<<<END

    • PHP代码
    • 143阅读
    • 2022-09-27

站三界导航
本站声明:本站严格遵守国家相关法律规定,非正规网站一概不予收录。本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,站三界导航不承担任何责任。在此特别感谢您对站三界导航的支持与厚爱。