2017-08-08 27 views
2

我一直在試圖尋找一個解決方案來驗證用php域,域是:驗證一個俄語域PHP

XN ---- 9sbeid4cgu7b.xn - p1ai

當我把它粘貼到瀏覽器中它被轉換成俄語字符和域是有效的,我不能

$re = '/^(?!\-)(?:[a-zA-Z\d\-]{0,62}[a-zA-Z\d]\.){1,126}(?!\d+)[a-zA-Z\d]{1,63}$/m'; 
$is_valid = preg_match_all($re, $domain, $matches, PREG_SET_ORDER, 0); 

驗證它的任何幫助,將不勝感激

+2

[filter_var](http://php.net/filter_var)與[FILTER_VALIDATE_URL](http://php.net/manual/en/filter.filters.validate.php)? –

+0

那一定是我見過的最奇怪的有效域名 – Martijn

+0

大聲笑..奇怪的怪物之一..大聲笑, – smzapp

回答

0

您可以使用idn_to_utf8將Unicode域名從IDNA ASCII兼容格式轉換爲純Unicode(使用UTF-8編碼)。

+0

PHP 5.6的任何解決方案? –

+0

我使用PHP7和stil goit這個錯誤:調用未定義的函數idn_to_utf8 – user10089632

+0

我切換到PHP 7.0.20,仍然是相同的錯誤 –