代码之家  ›  专栏  ›  技术社区  ›  markzzz

PHP-如果字符串包含超过5个字符的单词,则将其拆分

  •  0
  • markzzz  · 技术社区  · 14 年前

    正如主题所说,我需要一个递归函数,如果一个字符串包含的单词长度超过(例如)5个字符,则该函数将其拆分。

    例子:

    如果我有“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;

    如果我有字符串“aaaaa” bbbbbb公司 bbbbb公司 aa aaaaa级”

    BBBBBBBBBBBBBBBBBB

    有没有已经实现的php函数,或者我需要使它? 干杯

    3 回复  |  直到 14 年前
        1
  •  3
  •   Vincent Savard Midhun    14 年前

    使用preg_replace:

    echo preg_replace("`(\S{5})(?!\s|$)`", '$1#', "aaaaa bbbbbbbbbbbbbbbb aa aaaaa")
    // aaaaa bbbbb#bbbbb#bbbbb#b aa aaaaa
    

    后面是一个空格,后面是一组5个字符+#。很明显,你可以用其他东西来代替。

        2
  •  1
  •   Breezer    14 年前

    使用这样的正则表达式

    [a-zA-Z]{5}

    所以

    拆分('[a-zA-Z]{5}',$string);

    编辑:刚刚注意到该函数已弃用,所以改用preg_split

        3
  •  0
  •   Billy ONeal IS4    14 年前
    $result = array();
    $source = // assign source here
    for($idx = 0; $idx < count($source); $idx += 5) {
        $result = substr($source, $idx, 5);
    }
    
    推荐文章