子字符串php
① php 怎么截取汉字字符串
?php
$str = '这样一来我的字符串就不会有乱码^_^';
echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8');
//结果:这样一来我的字
echo "
";
echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8');
//结果:这样
?
首先
1.确保你的Windows/system32下有php_mbstring.dll这个文件,没有就从你Php安装目录extensions里拷入Windows/system32里面。
2.在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到
;extension=php_mbstring.dll把前面的;号去掉,这样mb_substr函数就可以生效了
mb_strcut函数功能也可以截取字符串长度,下面实例具体看看区别在哪:
mb_substr();
② 如何利用现有的PHP字符串函数判断某个子字符串在原字符串第N次出现的位置 如何截取某个字符串前N个单词呢
<?
$m='fdm';//母字符串
$s='ad';//子字符串 可以为多个字符
$n=4;//第n次
$o='';
$r=explode($s,$m);
foreach($r as $k=>$v){
if($k==$n)break;
$o.=$v."<font color=red>".$s."</font>";
}
echo $o;
/////////也可以写成函数的形式
//font color 是方便你辨别 可以去掉 直接写成$o.=$v.$s;
echo SplitString("","1","3");//三个参数分别是 母字符串 分割字符 取第几个前面的字符串
function SplitString($m,$s,$n){
$r=explode($s,$m);
foreach($r as $k=>$v){
if($k==$n)break;
$o.=$v."<font color=red>".$s."</font>";
}
return $o;
}
?>
③ nginx判断uri是否包含某值
方法一:查找、匹配字符串中的子字符串
strpos()函数
strpos()函数用于查找字符串中第一次出现的子字符串。如果子字符串存在,则该函数返回子字符串的起始索引,否则如果在字符串(URL)中找不到子字符串,则返回False。
注:strpos() 函数对大小写敏感,区分大小写。
示例:使用strpos()函数在URL中查找特定字符串。
header("content-type:text/html;charset=utf-8");
// 在URL中查找特定的子字符串
// 给定URL
$url = '//www.zzvips.com/php/';
echo 'URL为: '.$url.'
' ;
// 搜索子字符串
$key = 'php';
if (strpos($url, $key) == false) {
echo 'URL中不存在子字符串'.$key.'
' ;
}
else {
echo 'URL中存在子字符串 '.$key.'
' ;
}
// 搜索子字符串
$key = 'PHP';
if (strpos($url, $key) == false) {
echo 'URL中不存在子字符串 '.$key.'
' ;
}
else {
echo 'URL中存在子字符串 '.$key.'
' ;
}
?>
URL://www.zzvips.com/php/
URL中存在子字符串PHP
URL中不存在子字符串PHP
substr_count()函数
substr_count()函数用于计算子串在字符串中出现的次数。当子串的出现次数大于等于1时,表明URL中包含这个子字符串。
示例:
header("content-type:text/html;charset=utf-8");
$url = 'http://www.jb1.net/php/';
$key = 'php';
// 搜索子字符串
if (substr_count($url, $key) == false) {
echo 'URL中不存在子字符串'.$key.'
' ;
}
else {
echo 'URL中存在子字符串 '.$key.'
' ;
}
$key = 'PHP';
if (substr_count($url, $key) == false) {
echo 'URL中不存在子字符串 '.$key.'
' ;
}
else {
echo 'URL中存在 '.$key.'
' ;
}
?>
输出:
URL://www.zzvips.com/php/
URL中存在子字符串PHP
URL中不存在子字符串list
方法二:通过正则表达式查找匹配
preg_match()函数
preg_match()函数用于使用正则表达式搜索查找文本中模式的完全匹配。在给定正则表达式模式的情况下,该函数对文本进行搜索并找到完全匹配(如果存在)。如果存在,则此函数返回true;如果不存在,则返回false。
header("content-type:text/html;charset=utf-8");
// 在URL中查找特定的子字符串
// 给定URL
$url = 'http://www.jb1.net/php/';
echo 'URL为: '.$url.'
' ;
// 搜索子字符串
$pattern = '/\bphp\b/';
if (preg_match($pattern, $url) == false) {
echo 'URL中不存在php
';
}
else {
echo 'URL中存在php
';
}
$pattern = '/\bPHP\b/';
if (preg_match($pattern, $url) == false) {
echo 'URL中不存在PHP';
}
else {
'URL中不存在PHP';
}
?>
输出:
URL://www.zzvips.com/php/
URL中存在PHP