欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

一道php字符串截取的面试题

程序员文章站 2022-05-22 19:36:52
...
$str = '这是
一道php字符串截取题
。';

将以上字符串截取前7个字符显示出来,最终应该要这个结果:

'这是
一道php
'

要求:

  1. 如果字符串中有HTML标签就略过不记数

  2. 如果截取完之后有HTML标签被截断了,那么要在最后把截断的标签再补上结束标签

回复内容:

$str = '这是
一道php字符串截取题
。';

将以上字符串截取前7个字符显示出来,最终应该要这个结果:

'这是
一道php
'

要求:

  1. 如果字符串中有HTML标签就略过不记数

  2. 如果截取完之后有HTML标签被截断了,那么要在最后把截断的标签再补上结束标签

没有推测题目的用途,单纯按要求一写了个正则替换

function pure_cut($str, $len) {
    $reg = '/' . str_repeat('[^]((?:]+>)+)?', $len) . '$/u';
    $str = preg_replace_callback($reg, function($matches) {
        array_shift($matches);
        $replace = join('', $matches);
        return $replace;
    }, $str, 7);
    return $str;
}

echo pure_cut($str, 7);

不过要求2 没太明白。在要求1满足的情况下,html 标签是不会被破坏的,不需要专门去修复啊。

应该是截取富文本编辑框的内容吧.

一道php字符串截取题
相关标签: php