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

每三句话的结尾加一个词

  •  1
  • ThoKra  · 技术社区  · 15 年前

    我正在创造一个“有趣的翻译”,我试图在每三个句子的末尾加上一个单词。

    它获得另一页HTML代码,并将其翻译成青少年语言。但我想在每三句话中加一个词。我一直在用这句话:

    $str = preg_replace_callback('{<.*?[^>]*>([æøåÆØÅ !,\w\d\-\(\)]+)([<|\s|!|\.|:])</.*?>}',
    "assIt", $str);
    

    但它只在句子被HTML代码包围时添加单词。

    我以为我可以通过检查一个大号字母来找到每个句子,然后找到一个双关语,但我真的不太懂正则表达式。

    有人知道我怎样才能让它工作吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Josh Crozier HBP    9 年前

    稍长一点,但可以使用explode()函数代替regexp。

    $sentences = explode('.', $str);
    $numberOfSentences = count($sentences);
    for($i = 0; $i < $numberOfSentences; $i++)
    {
        if($i%3 == 2) {
            $sentences[$i] = $sentences[$i] . ' some fun string';
        }
    }
    echo implode('.', $sentences);
    

    这应该可以