【问题标题】:PHP preg match *.domain.com or *.domain.co.ukPHP preg 匹配 *.domain.com 或 *.domain.co.uk
【发布时间】:2011-10-16 05:40:21
【问题描述】:

我正在使用此代码预匹配 *.domain.com,但需要将其更改为还包括具有几个句点的外国域,例如 *.domain.co.uk。任何帮助感谢感谢

if (trim(preg_match('!^https?://([^/]+\.)?domain\.com(/|#|$)!i', $documentLink->getAttribute('href'))))

只是我希望匹配 *.domain.(任何 TLD)的更新,而不仅仅是 co.uk

谢谢

【问题讨论】:

  • 也许看看这个问题:stackoverflow.com/questions/399932/…
  • 你打算用nic.trodtu.edu.trcosmos.1.bgcosmos.bg做什么?
  • 请注意,cosmos1.bg 是 ccTLD。不存在像1.bg 这样的东西。
  • 我测试了这个 "(preg_match('/(?P[a-z0-9][a-z0-9\-]{1,63}\.[a-z\. ]{2,6})$/i', $domain, $regs))” 得到 nic.tr odtu.edu.tr,它唯一没有拾取的域是 cosmos.1.bg,我是正则表达式不好,但我认为这是因为中间的单个字符。我能做出什么改变?谢谢

标签: php regex preg-match


【解决方案1】:
!^https?://([^/]+\.)?domain(.com|co.uk)(/|#|$)!i

【讨论】:

  • .co.uk 是我需要获取任何 *.domain.(any tld) 的示例
【解决方案2】:
!^https?://([^/]+\.)?domain[.a-z]+(/|#|$)!i

【讨论】:

    【解决方案3】:
    !^(https?://)?([\w-]+\.)?domain(\.[a-z]{2,5})+(/|#|$)!i
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-22
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多