使用PHP创建域模式lll/NNNNNN快捷方式

使用PHP创建域模式lll/NNNNNN快捷方式,php,dns,str-replace,Php,Dns,Str Replace,我想创建一个快捷域名模式的功能 该函数的唯一“定律”是,如果有一个字母在一行中重复超过5次,例如LLLLLLL或NNNNNN,甚至是混合字母LLLLLLL NNNNNN,我们将在所有情况下都得到一个快捷方式,即在其他情况下,L序列的6次将更改为L6,依此类推 现在我想缩短域名,例如,如果字符串是5个字母或数字,我想创建一个快捷方式 例如: LLLLLLLL->L8 nnllllln->NNL7N llllllnnnnnn-> L6N6 起初我想使用“str_replace”函数,但问题是缩

我想创建一个快捷域名模式的功能

该函数的唯一“定律”是,如果有一个字母在一行中重复超过5次,例如LLLLLLL或NNNNNN,甚至是混合字母LLLLLLL NNNNNN,我们将在所有情况下都得到一个快捷方式,即在其他情况下,L序列的6次将更改为L6,依此类推

现在我想缩短域名,例如,如果字符串是5个字母或数字,我想创建一个快捷方式

  • 例如:
  • LLLLLLLL->L8
  • nnllllln->NNL7N
  • llllllnnnnnn-> L6N6

起初我想使用“str_replace”函数,但问题是缩短的例子太多了。

你可以做一个简单的
preg_replace
来使用一个非常简单的模式来检查序列。这里还有一个非常类似的问题:

然后像这样调用它(传入字符串):


也许看看哪个比较相似,所以解决方案应该很容易适应。@TZHX完美谢谢。
function parseString( $string ) {
    return preg_replace('/(.)\1*/e', 'strlen($0) . $1', $string);
}
echo parseString('NNLLLLLLLNNNLNLNNNN');