扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
如下是一个测试脚本,
成都创新互联专业提供成都主机托管四川主机托管成都服务器托管四川服务器托管,支持按月付款!我们的承诺:贵族品质、平民价格,机房位于中国电信/网通/移动机房,西部信息服务器租用服务有保障!
?php
$str = "abcd123456";
$pattern = '/^(.{0,6}).*?$/i';
preg_match($pattern, $str, $matches);
print_r($matches);
效果如下图:
我看了你的$pattern,即/^(.{0,200}).*?$/i首先你使用了^.......$这个结构表示精确匹配某个字符串,逐个分析你的表达式,首先(.{0,200})表示匹配除"\n"外的0到200个字符,而^表示以(.{0,200})开头,而后面的.*表示0个或多个单个字符,而.*?结合起来则表示使用懒惰模式,匹配任意数量的重复个字符,/i表示去区分大小写,使用你的$pattern应该可以达到效果,同样使用preg_match语法的话,则preg_match($pattern, $str, $matches);然后$matches[1]就会输出第一个0到200字符组成的串(有200则输出200个,没有则输出所有)
?php
?php
/*
Utf-8、gb2312都支持的汉字截取函数
cut_str(字符串, 截取长度, 开始长度, 编码);
编码默认为 utf-8
开始长度默认为 0
*/
function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')
{
if($code == 'UTF-8')
{
$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
preg_match_all($pa, $string, $t_string);
if(count($t_string[0]) - $start $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
return join('', array_slice($t_string[0], $start, $sublen));
}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = '';
for($i=0; $i $strlen; $i++)
{
if($i=$start $i ($start+$sublen))
{
if(ord(substr($string, $i, 1))129)
{
$tmpstr.= substr($string, $i, 2);
}
else
{
$tmpstr.= substr($string, $i, 1);
}
}
if(ord(substr($string, $i, 1))129) $i++;
}
if(strlen($tmpstr) $strlen ) $tmpstr.= "...";
return $tmpstr;
}
}
$str = "abcd需要截取的字符串";
echo cut_str($str, 8, 0, 'gb2312');
?
帮你测试过,符合要求
$str="登山服:5620a登山服";
$search1 = implode("-",range("a","z"));
$search2 = implode("-",range("a","z"));
$search3 = implode("-",range(0,9));
$search4 = implode("-",array(":"));
$search = $search1."-" .$search2."-" .$search3."-" .$search4;
$oldarr = explode("-",$search);
$newarr = array();
foreach($oldarr as $value)
$newarr [] = "{mysplit}";
$str = str_replace($oldarr, $newarr, $str);
$arr = explode("{mysplit}",$str);
echo $arr[0];
PHP 中的 substr() 函数可以实现
substr() 函数返回字符串的一部分。
substr(string,start,length)
其中参数的含义:
string 必需。规定要返回其中一部分的字符串。
start 必需。规定在字符串的何处开始。
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端返回
注释:如果 start 是负数且 length 小于等于 start,则 length 为 0。
例子1
?php
echo substr("Hello world!",6);
?
输出:
world!
例子2
?php
echo substr("Hello world!",6,5);
?
输出:
world
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流