沧州企业网站建设方案,长春企业网站如何建设,asp网站 手机登录,住房和城乡建设部网站预售证一#xff1a;字符串分割成数组 
日常工作中#xff0c;如果需要把一个字符串分割成数组#xff0c;我们一般使用 explode() 函数对字符串进行分割#xff0c;具体代码如下所示#xff1a; 
?php$str  PHP|python|java|js|css|html;
$arr  explode(|,$str);
print_r(…一字符串分割成数组 
日常工作中如果需要把一个字符串分割成数组我们一般使用 explode() 函数对字符串进行分割具体代码如下所示 
?php$str  PHP|python|java|js|css|html;
$arr  explode(|,$str);
print_r($arr); 参数一匹配分割的字符 参数二待分割的字符串 参数三匹配的次数。默认一致匹配到最后一个 打印的结果如下 
Array
([0]  PHP[1]  python[2]  java[3]  js[4]  css[5]  html
) 
虽然 explode() 函数很方便但是它只支持固定的分割符对字符串进行分割。如果需要使用正则进行匹配分割字符串可以使用 preg_split() 函数 
preg_split() 函数是通过正则表达式模式匹配分隔符的方法实现字符串分割成数组的操作。其基本语法如下 
array preg_split ( string $pattern , string $subject [, int $limit  -1 [, int $flags  0 ]] ) 参数一正则表达式 参数二待匹配的字符串 参数三匹配的次数。默认-1表示匹配到最后一个 参数四特殊参数。以位或运算 | 组合。PREG_SPLIT_NO_EMPTY仅返回分隔后的非空部分 返回值匹配的次数。如果没有匹配到返回0 如果不是很了解的可以先看看下方案例 
?php$str  [PHP|python|java]-[js|css|html];
$arr  preg_split(/[\[\]|,-]/,$str,-1,PREG_SPLIT_NO_EMPTY);
print_r($arr); 
打印的结果和上面的 explode() 函数一模一样但是它所实现的功能却更加强大。 
二正则替换字符串中字符 
preg_replace 函数执行一个正则表达式的搜索和替换。语法如下所示 
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit  -1 [, int $count ]] ) 参数一正则匹配规则 参数二用于替换的字符串或字符串数组 参数三要搜索替换的目标字符串或字符串数组 参数四可选对于每个模式用于每个 subject 字符串的最大可替换次数。默认是-1无限制 参数五可选为替换执行的次数。(用于统计被替换的次数) 返回值如果 subject 是一个数组 preg_replace() 返回一个数组 其他情况下返回一个字符串。 具体表现和用法大家可以看看下方案例将字符串$string中的PHP替换成Python 
?php
$string  PHP 123, 456;
$pattern  /(\w) (\d), (\d)/i;
$replacement  Python $2,$3;
echo preg_replace($pattern, $replacement, $string); 
注意上述代码$replacement中的$2 和 $3 是正则$pattern 匹配的结果列表中的第二个和第三个结果值 
其实可以直接简单点直接匹配替换 
$string  PHP 123, 456;
echo preg_replace(/PHP/,Python,$string);
//打印结果Python 123, 456 
三正则匹配邮箱 
邮箱验证几乎是日常工作中我们必须遇到的问题例如找回密码及重置密码等行为就可以通过邮箱来验证用户的真假。 
要使用正则表达式匹配邮箱可以使用PHP的preg函数结合邮箱的正则表达式模式。以下是一个示例代码 
?php
$email  exampleexample.com;// 正则表达式模式匹配邮箱
$pattern  /^[a-zA-Z0-9._-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}$/;
// 使用preg函数进行匹配
if (preg_match($pattern, $email)) {echo 邮箱格式正确;
} else {echo 邮箱格式错误;
} 
在上面的代码中使用正则表达式模式/^[a-zA-Z0-9._-][a-zA-Z0-9.-]\.[a-zA-Z]{2,}$/来匹配邮箱。这个正则表达式模式可以匹配大多数常见的邮箱格式。 正则符号含义 ^开始符号   $ 结尾符号 正则符号有点多不明的可以看看百度百科的正则表达式 https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215 四正则匹配手机号 
正则表达式匹配手机号码可以使用以下正则表达式模式 
$pattern  /^1[3456789]\d{9}$/; 
这个正则表达式模式匹配以1开头第二位为3、4、5、6、7、8、9中的任意一个数字后面跟着9个数字的手机号码。 
注意上面的匹配方式可能会匹配到虚拟手机号如果想要排除虚拟手机号可以自己做一个黑名单把网上的虚拟手机号统统拉进黑名单中。 
五匹配数组中的值 
上面的preg_match函数匹配的是字符串但是PHP提供了 preg_grep 函数用于匹配数组中的值返回匹配模式的数组条目。语法如下 
array preg_grep ( string $pattern , array $input [, int $flags  0 ] ) 参数一正则表达式 参数二待匹配的数组 参数三如果设置为 PREG_GREP_INVERT这个函数返回输入数组中与给定模式 pattern 不匹配的元素组成的数组。 返回数组中指定匹配的元素 
?php
$array  array(1, 2, 3.4, 53, 7.9);
// 返回所有包含浮点数的元素
$fl_array  preg_grep(/^(\d)?\.\d$/, $array);
print_r($fl_array); 
改正则函数返回的是一个数组格式数组中是符合匹配的结果值列表。打印结果如下所示 
Array
([2]  3.4[4]  7.9
)