0

几个小时以来,我一直在尝试使用我的公平脚本并最终几乎准备就绪,但它出现了奇怪的问题。

附上一段代码以了解我的意思。

$sep = '\.com|\.tv';
$string = 'sub.sub2.sub3.tv-bole-el.com';
$pat = '~[-[:alnum:]]{2,}\b('.$sep.')\b~i';

preg_match_all($pat, $string, $matches, PREG_PATTERN_ORDER);

在这种情况下,在数组 $matches 中,如果您花费 tv-bole-el.com 将是正确的

相反,我获得了 2 个域名:

  • sub3.tv
  • -bole-el.com

有人知道哪里错了吗?

4

1 回答 1

0

不确定这是否是您需要的,但这对我有用:

$sep = '\.com|\.tv';
$string = 'sub.sub2.sub3.tv-bole-el.com';
$pat = '~[-[:alnum:]]{2,}\b('.$sep.')$~i';
preg_match_all($pat, $string, $matches, PREG_PATTERN_ORDER);

var_dump($matches[0]);

输出:

array(1) {
  [0]=>
  string(14) "tv-bole-el.com"
}
于 2013-11-14T10:40:46.337 回答