0

0

恶搞 关于腾讯的那道题截取字符串的题

php中文网

php中文网

发布时间:2016-06-23 14:14:14

|

1022人浏览过

|

来源于php中文网

原创

题目是:
假设有"123abc456def789"这么一个字符串,写一个函数,可以传入一个字符串,和一个要截取的长度。返回截取后的结果。

要求:
标记不得计算在长度之内。
2 截取后的字符串,要保留原有标签,不过如果最后有一个标签没有闭合,则去掉其开始标签。

示例:
题中的字符串,要截取长度5,则返回的字符串应该为:123ab,要截取长度8,应返回123abc45。

<?php// QQ群:23930992function find($str, $size, &$string, &$number, &$saveString, &$newString) // 查找标签,当 PHP > 5.3 可以把注释去掉{    $i=$j=0;    while(strlen($saveString)<$size)    {        //loop:        if($str[$i] == '<')        {            $k=0;            $number[$j][$k++]=$i;            $string[$j]='';            do            {                $string[$j].=$str[$i];                if($str[$i] == '>')                {                    $number[$j++][$k++]=$i;                    break;                }            }while($str[$i++] != '>');        }        else        {            $saveString.=$str[$i];            /*if(strlen($saveString) == $size)            {                if($str[++$i] =='<')                {                    goto loop;                }                $i--;            }*/        }        $i++;    }    for($j=0; $j<$i; $j++)    {        $newString.=$str[$j];    }}function filter($str)  // 过滤标签,然后进行比较{    $newstr    = '';    $strLength = strlen($str);    for($i=0;$i<$strLength;$i++)    {        switch($str[$i])        {            case '<' : continue;            case '/' : continue;            case '>' : continue;            case ' ' : break;            default  : $newstr .= $str[$i];        }    }    return $newstr;}function deleteReservedTag(&$string, &$number, $reserved) // 从标签组里去除 保留标签{	$stringLength   = count($string);	$reservedLength = count($reserved);    for($i=0; $i<$stringLength;$i++)      // 去掉保留标签部分    {        for($j=0;$j < $reservedLength;$j++)        {            if( filter($string[$i]) == filter($reserved[$j]) )            {                $string[$i] = NULL;                for($k=0;$k<2;$k++)                {                    $number[$i][$k] = NULL;                }            }        }    }    $tempString[]    = '';    $tempNumber[][]  = 0;    for($i=0,$j=0; $i < $stringLength; $i++) // 把空的地方填补    {        if($string[$i] != NULL)        {            $tempString[$j]=$string[$i];            for($k=0;$k<2;$k++)            {                $tempNumber[$j][$k] = $number[$i][$k];            }            $j++;        }    }    $string = $tempString;    $number = $tempNumber;}function compare(&$string, &$number)     //比较成对标签{	$stringLength = count($string);    for($i=0; $i < $stringLength; $i++)  //删除成对标签    {        for($j = $i+1; $j < $stringLength; $j++)        {            if( filter($string[$i]) == filter($string[$j]) )            {                $string[$i] = NULL;                $string[$j] = NULL;                for($k=0;$k<2;$k++)                {                    $number[$i][$k] = NULL;                }                for($k=0;$k<2;$k++)                {                    $number[$j][$k] = NULL;                }            }        }    }    $tempString[]    = '';    $tempNumber[][]  = 0;    for($i=0,$j=0; $i < $stringLength; $i++) // 把空的地方填补    {        if($string[$i] != NULL)        {            $tempString[$j]=$string[$i];            for($k=0;$k<2;$k++)            {                 $tempNumber[$j][$k] = $number[$i][$k];            }            $j++;        }    }    $string = $tempString;    $number = $tempNumber;}function replace(&$string, $number, $newString){    $tempString       = '';    $saveStringLength = strlen($newString);    $stringLength     = count($string);    //echo $saveStringLength."\n".$stringLength;    for($i=0, $j=0; $i < $saveStringLength; $i++)    {        if( $j < $stringLength )        {            if( $i == $number[$j][0])            {                $begin = $number[$j][1] - $number[$j][0];                while($begin)                {                    $begin--;                    $i++;                }               $j++;               $i++;            }        }       $tempString .= $newString[$i];    }    $string = $tempString;}$str = '<p align="center"><b>123<br /><em>abc</em>45<hr />6</b>defg<i>789</i></p>';$size=15;$reserved = array //保留标签(    '<br />',    '<br>',    '<hr />',    '<hr>');$string[]='';                                                  // 保存所有标签$number[][]=0;                                                 // 保存所有标签位置$saveString = '';                                              // 保存截取标签后的所有字符串$newString  = '';                                              // 保存所有未截取标签的字符串find($str, $size, $string, $number, $saveString, $newString);  // 查找标签deleteReservedTag($string, $number, $reserved);                // 从标签组里去除 保留标签compare($string, $number);                                     // 从标签组里去除 成对标签replace($string, $number, $newString);printf("截取长度:%d\n\n", $size);printf("完整长度:%s\n\n",$str);printf("处理结果:%s\n\n", $string);printf("截取长度:%s (%s)\n\n",$saveString,strlen($saveString));printf("未处理前:%s\n",$newString);?>



运算结果如下
------------------------------------------------------------------------------------
截取长度:15

完整长度:

123
abc45


6defg789



处理结果:123
abc45
6
defg78

截取长度:123abc456defg78 (15)

未处理前:

123
abc45


6defg78

标小兔AI写标书
标小兔AI写标书

一款专业的标书AI代写平台,提供专业AI标书代写服务,安全、稳定、速度快,可满足各类招投标需求,标小兔,写标书,快如兔。

下载

回复讨论(解决方案)

P4+768MB 机运行速度如下

内存使用情况:2176
算法运行时间(microtime):0.0012378692626953

欢迎各位 PHP 爱好者来  QQ群:23930992

程序处理一些特殊数据的时候会出问题,请把代码粘贴到上面

function filter($str)  // 过滤标签,然后进行比较
{
    $newstr    = '';
    $strLength = strlen($str);
    for($i=0;$i     {
        switch($str[$i])
        {
            case '             case '/' : continue;
            case '>' : continue;
            case ' ' : break 2;
            default  : $newstr .= $str[$i];
        }
    }
    return $newstr;
}

又修正一个错误,请把下面代码粘贴到上面

function replace(&$string, $number, $newString){    $tempString       = '';    $saveStringLength = strlen($newString);    $stringLength     = count($string);    for($i=0, $j=0; $i < $saveStringLength; $i++)    {        if( $j < $stringLength )        {            if( $i == $number[$j][0])            {                $begin = $number[$j][1] - $number[$j][0];                while($begin)                {                    $begin--;                    $i++;                }               $j++;            }        }        else        {           $tempString .= $newString[$i];        }    }    $string = $tempString;}


完整修改后的代码

<?php// QQ群:23930992function find($str, $size, &$string, &$number, &$saveString, &$newString) // 查找标签,当 PHP > 5.3 可以把注释去掉{    $i=$j=0;    while(strlen($saveString)<$size)    {        //loop:        if($str[$i] == '<')        {            $k=0;            $number[$j][$k++]=$i;            $string[$j]='';            do            {                $string[$j].=$str[$i];                if($str[$i] == '>')                {                    $number[$j++][$k++]=$i;                    break;                }            }while($str[$i++] != '>');        }        else        {            $saveString.=$str[$i];            /*if(strlen($saveString) == $size)            {                if($str[++$i] =='<')                {                    goto loop;                }                $i--;            }*/        }        $i++;    }    for($j=0; $j<$i; $j++)    {        $newString.=$str[$j];    }}function filter($str)  // 过滤标签,然后进行比较{    $newstr    = '';    $strLength = strlen($str);    for($i=0;$i<$strLength;$i++)    {        switch($str[$i])        {            case '<' : continue;            case '/' : continue;            case '>' : continue;            case ' ' : break 2;            default  : $newstr .= $str[$i];        }    }    return $newstr;}function deleteReservedTag(&$string, &$number, $reserved) // 从标签组里去除 保留标签{	$stringLength   = count($string);	$reservedLength = count($reserved);    for($i=0; $i<$stringLength;$i++)      // 去掉保留标签部分    {        for($j=0;$j < $reservedLength;$j++)        {            if( filter($string[$i]) == filter($reserved[$j]) )            {                $string[$i] = NULL;                for($k=0;$k<2;$k++)                {                    $number[$i][$k] = NULL;                }            }        }    }    $tempString[]    = '';    $tempNumber[][]  = 0;    for($i=0,$j=0; $i < $stringLength; $i++) // 把空的地方填补    {        if($string[$i] != NULL)        {            $tempString[$j]=$string[$i];            for($k=0;$k<2;$k++)            {                $tempNumber[$j][$k] = $number[$i][$k];            }            $j++;        }    }    $string = $tempString;    $number = $tempNumber;}function compare(&$string, &$number)     //比较成对标签{	$stringLength = count($string);    for($i=0; $i < $stringLength; $i++)  //删除成对标签    {        for($j = $i+1; $j < $stringLength; $j++)        {            if( filter($string[$i]) == filter($string[$j]) )            {                $string[$i] = NULL;                $string[$j] = NULL;                for($k=0;$k<2;$k++)                {                    $number[$i][$k] = NULL;                }                for($k=0;$k<2;$k++)                {                    $number[$j][$k] = NULL;                }            }        }    }    $tempString[]    = '';    $tempNumber[][]  = 0;    for($i=0,$j=0; $i < $stringLength; $i++) // 把空的地方填补    {        if($string[$i] != NULL)        {            $tempString[$j]=$string[$i];            for($k=0;$k<2;$k++)            {                 $tempNumber[$j][$k] = $number[$i][$k];            }            $j++;        }    }    $string = $tempString;    $number = $tempNumber;}function replace(&$string, $number, $newString){    $tempString       = '';    $saveStringLength = strlen($newString);    $stringLength     = count($string);    for($i=0, $j=0; $i < $saveStringLength; $i++, $j=0)    {        while( $j < $stringLength )        {            if( $i == $number[$j][0])            {                $i = $number[$j][1];                $i++;            }            $j++;        }        $tempString .= $newString[$i];    }    $string = $tempString;}$sttime = microtime(true);$stmem = memory_get_usage();$str = '        <table id="ctl00_ContentPlaceHolder1_BidDomainName1_Shop1_htmlShop" width="99%" border="0" cellspacing="0" cellpadding="0">	<tr>		<td valign="top"><img  id="ctl00_ContentPlaceHolder1_BidDomainName1_Shop1_imgShopLogo" src="http://auction.ename.cn/images/nopic.gif"   style="max-width:90%" / alt="恶搞 关于腾讯的那道题截取字符串的题" ></td>		<td><h5>364867的玉米小店</h5>                买家信用:<a id="ctl00_ContentPlaceHolder1_BidDomainName1_Shop1_hlBuyerCreditLink" title="0" href="/Customer/UserEvaluate.aspx?uid=364867&from=seller" target="_blank">0<span class="goodssaletitle2"></span></a><br />                卖家好评率:100.00%<br />                买家好评率:0.00%<br />                注册时间:2010年04月29日<br />                <div style="width:230px">荣誉资质:<img   alt="恶搞 关于腾讯的那道题截取字符串的题" ></div>                <div><a id="ctl00_ContentPlaceHolder1_BidDomainName1_Shop1_hlShopUrl" href="http://364867.shop.ename.cn"><img  src="/images/scicon.gif"    style="max-width:90%"  style="max-width:90%" border="0" / alt="恶搞 关于腾讯的那道题截取字符串的题" ></a></div></td>	</tr></table>                </td>      </tr>      <tr>        <td class="shopbg04"> </td>      </tr>    </table>';$size=160;$reserved = array //保留标签(    '<br />',    '<br>',    '<hr />',    '<hr>',    '<img  / alt="恶搞 关于腾讯的那道题截取字符串的题" >',    '<img  alt="恶搞 关于腾讯的那道题截取字符串的题" >');$string[]='';                                                  // 保存所有标签$number[][]=0;                                                 // 保存所有标签位置$saveString = '';                                              // 保存截取标签后的所有字符串$newString  = '';                                              // 保存所有未截取标签的字符串find($str, $size, $string, $number, $saveString, $newString);  // 查找标签deleteReservedTag($string, $number, $reserved);                // 从标签组里去除 保留标签compare($string, $number);                                     // 从标签组里去除 成对标签replace($string, $number, $newString);printf("截取长度:%d\n\n", $size);printf("完整长度:%s\n\n",$str);printf("处理结果:%s\n\n", $string);printf("截取长度:%s (%s)\n\n",$saveString,strlen($saveString));printf("未处理前:%s\n",$newString);echo "内存使用情况:",(memory_get_usage()-$stmem),"\n";echo "算法运行时间(microtime):",(microtime(true)-$sttime),"\n";?>




截取长度:160




完整长度:
        






恶搞 关于腾讯的那道题截取字符串的题
364867的玉米小店

                买家信用:0

                卖家好评率:100.00%

                买家好评率:0.00%

                注册时间:2010年04月29日

                
荣誉资质:恶搞 关于腾讯的那道题截取字符串的题

                
恶搞 关于腾讯的那道题截取字符串的题


        
        
      
      
         
      
    





处理结果:
        

恶搞 关于腾讯的那道题截取字符串的题
364867的玉米小店

                买家信用:0

                卖家好评率:100.00%

                买家好评率:0.00%

                注册





截取长度:
        


364867的玉米小店
                买家信用:0
                卖家好评率:100.00%
                买家好评率:0.00%
                注册 (160)






未处理前:
        


恶搞 关于腾讯的那道题截取字符串的题
364867的玉米小店

                买家信用:0

                卖家好评率:100.00%

                买家好评率:0.00%

                注册


内存使用情况:5096

算法运行时间(microtime):0.0040628910064697

精简后的代码

<?php// QQ群:23930992function find($str, $size, &$string, &$number, &$saveString, &$newString) // 查找标签并保存到标签组{    $i=$j=0;    while(strlen($saveString)<$size)    {        if($str[$i] == '<')        {            $k=0;            $number[$j][$k++]=$i;            $string[$j]='';            do            {                $string[$j].=$str[$i];                $i++;            }while($str[$i] != '>');            $number[$j++][$k]=$i;        }        else        {            $saveString.=$str[$i];        }        $i++;    }    for($j=0; $j<$i; $j++)    {        $newString.=$str[$j];    }}function filter($str)  // 过滤标签,然后进行比较{    $newstr    = '';    $strLength = strlen($str);    for($i=0;$i<$strLength;$i++)    {        switch($str[$i])        {            case '<' : continue;            case '/' : continue;            case '>' : continue;            case ' ' : break 2;            default  : $newstr .= $str[$i];        }    }    return $newstr;}function deleteReservedTag(&$string, &$number, $reserved) // 从标签组里去除 保留标签{    $stringLength   = count($string);    $reservedLength = count($reserved);    for($i=0; $i<$stringLength;$i++)      // 去掉保留标签部分    {        for($j=0;$j < $reservedLength;$j++)        {            if( filter($string[$i]) == filter($reserved[$j]) )            {                $string[$i] = NULL;                for($k=0;$k<2;$k++)                {                    $number[$i][$k] = NULL;                }            }        }    }}function compare(&$string, &$number)     //比较成对标签{    $stringLength = count($string);    for($i=0; $i < $stringLength; $i++)  //删除成对标签    {        for($j = $i+1; $j < $stringLength; $j++)        {            if( filter($string[$i]) == filter($string[$j]) )            {                $string[$i] = $string[$j] = NULL;                for($k=0;$k<2;$k++)                {                    $number[$i][$k] = $number[$j][$k] = NULL;                }            }        }    }        //begin 把标签组空的地方 填补 (你可以去除本小段代码,代价是运行时间增加了)    $tempString[]    = '';    $tempNumber[][]  = 0;    for($i=0,$j=0; $i < $stringLength; $i++)    {        if($string[$i] != NULL)        {            $tempString[$j]=$string[$i];            for($k=0;$k<2;$k++)            {                 $tempNumber[$j][$k] = $number[$i][$k];            }            $j++;        }    }    $string = $tempString;    $number = $tempNumber;    //end}function replace(&$string, $number, $newString) // 核心代码 ...{    $tempString       = '';    $saveStringLength = strlen($newString);    $stringLength     = count($string);    for($i=0, $j=0; $i < $saveStringLength; $i++, $j=0)    {        while( $j < $stringLength )        {            if( $i == $number[$j][0])            {                $i = $number[$j][1];                $i++;            }            $j++;        }        $tempString .= $newString[$i];    }    $string = $tempString;}$sttime = microtime(true);$stmem = memory_get_usage();$str = '<p align="center"><b>123<br /><em>abc</em>45<hr />6</b>d<strong>efg<i>789</i></strong></p>';$size=15;$reserved = array //保留标签(    '<br />',    '<br>',    '<hr />',    '<hr>',    '<img  / alt="恶搞 关于腾讯的那道题截取字符串的题" >',    '<img  alt="恶搞 关于腾讯的那道题截取字符串的题" >');$string[]='';                                                  // 保存所有标签$number[][]=0;                                                 // 保存所有标签位置$saveString = '';                                              // 保存截取标签后的所有字符串$newString  = '';                                              // 保存所有未截取标签的字符串find($str, $size, $string, $number, $saveString, $newString);  // 查找标签deleteReservedTag($string, $number, $reserved);                // 从标签组里去除 保留标签compare($string, $number);                                     // 从标签组里去除 成对标签//deleteSpaceArray($string, $number);                          // 删除标签组里空下来的空间//deleteSpaceArray($string, $number);                          // 删除标签组里空下来的空间replace($string, $number, $newString);printf("截取长度: %u\n\n", $size);printf("完整长度: %s\n\n", $str);printf("截取长度: %s  (%u)\n\n", $saveString, strlen($saveString));printf("处理结果: %s\n\n", $string);printf("未处理前: %s\n\n", $newString);printf("内存使用情况:%u\n", memory_get_usage()-$stmem);printf("算法运行时间(microtime): %f\n", microtime(true)-$sttime);?>

研究得好透彻啊   

人都去那了啊,郁闷了

$s = '123<em>abc</em>456<em>def</em>789<em>def</em>789<em>def</em>789<em>def</em>789';function subs($s, $len){//此函数参数有二:$s - 源字符串,    $len - 要截取的长度        (当让你也可以将标签传进来,不过要进行其他操作)    $s1 = $s;    $s1 = preg_replace('/<\/?em>/s', '', $s1);    $sub = mb_substr($s1, 0, $len, 'gbk');    //处理成数组    $s2 = $s;    $s2 = preg_replace('/<\/?em>/s', '[p]', $s2);    $arr = explode('[p]', $s2);    $arr1 = $arr2 = array();    $num = count($arr);    $num1 = $num2 = 0;    $bs = 0;    for($i = 0; $i < $num; $i++){        $arr1[] = strlen($arr[$i]);        $num2 = array_sum($arr1);        if($num2 >= $len){            $num1 = $len - $num2 + strlen($arr[$i]);            if($num1 != strlen($arr[$i]))$bs = 1            $s3 = mb_substr($arr[$i], 0, $num1, 'gbk');            $arr[$i] = $s3;            $arr2 = array_slice($arr, 0, $i + 1);            break;        }    }    //处理数组,结合成所需要的成字符串    $num = count($arr2);    $s4 = '';    for($i =  0; $i < $num; $i++){        if($i % 2 == 0){            if(($i + 1 == $num && $bs == 1) || ($i + 2 == $num && $bs == 1) || ($num % 2 == 1 && $i + 1 == $num)){                $s4 .= $arr2[$i];            }else{                $s4 .= $arr2[$i]."<em>";            }        }else{            if($i + 1 == $num && $bs == 1){                $s4 .= $arr2[$i];            }else{                $s4 .= $arr2[$i]."</em>";            }        }    }    //返回结果    return $s4;}$s = subs($s, 17);echo $s;

支持盗版!!!

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

928

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

307

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

183

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

29

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

103

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

54

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

17

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

764

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

92

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号