php正则匹配如何截取前200个字符,跪求大神解答

发布网友 发布时间:2022-04-28 06:01

我来回答

2个回答

懂视网 时间:2022-04-28 10:23

php截取前几个字符的方法:可以利用substr()函数来截取。substr()函数用于返回字符串的提取部分,如果失败则返回false,或者返回一个空字符串。具体使用方法如:【substr("Hello world",0,10)】。

substr() 函数返回字符串的提取部分,如果失败则返回 FALSE,或者返回一个空字符串。

(推荐教程:php图文教程)

语法:

substr(string,start,length)

参数:

  • string 必需。规定要返回其中一部分的字符串。

  • start 必需。规定在字符串的何处开始。

  • length 可选。规定要返回的字符串长度。默认是直到字符串的结尾。

  • (视频教程推荐:php视频教程)

    举例:

    <?php
    echo substr("Hello world",0,10)."<br>";
    echo substr("Hello world",1,8)."<br>";
    echo substr("Hello world",0,5)."<br>";
    echo substr("Hello world",6,6)."<br>";
    echo substr("Hello world",0,-1)."<br>";
    echo substr("Hello world",-10,-2)."<br>";
    echo substr("Hello world",0,-6)."<br>";
    echo substr("Hello world",-2-3)."<br>";
    ?>

    热心网友 时间:2022-04-28 07:31

    如下是一个测试脚本,
    <?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个,没有则输出所有)

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com