Php 我在哪里可以找到这个领域提取器的好参考资料?
net提供了很好的参考资料,可用于。我正在试图理解我在上找到的这段代码,因此: 除此之外,我对所有代码片段都很熟悉:Php 我在哪里可以找到这个领域提取器的好参考资料?,php,regex,Php,Regex,net提供了很好的参考资料,可用于。我正在试图理解我在上找到的这段代码,因此: 除此之外,我对所有代码片段都很熟悉: ?P<domain> ?P 这一部分与整体有什么关系。尤其是“P”。我假设只是在返回的关联数组中定义了一个键 function getDomain($url) { $pieces = parse_url($url); $domain = isset($pieces['host']) ? $pieces['host'] : '';
?P<domain>
?P
这一部分与整体有什么关系。尤其是“P”。我假设
只是在返回的关联数组中定义了一个键
function getDomain($url)
{
$pieces = parse_url($url);
$domain = isset($pieces['host']) ? $pieces['host'] : '';
if(preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs))
{
return $regs['domain'];
}
return false;
}
函数getDomain($url)
{
$pieces=parse_url($url);
$domain=isset($pieces['host'])?$pieces['host']:'';
if(preg_match('/(?P[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i',$domain,$regs))
{
返回$regs['domain'];
}
返回false;
}
部分定义了该组的名称。这意味着您可以使用$regs['domain']
按名称访问它,而不是按编号$regs[0]
。它在大型正则表达式中很有用,因为给每个组命名可以更容易地理解发生的事情。所以?p是其中的一部分…这是在php.net中的某个地方引用的,我在上面提供了链接。在上面链接的preg_match文档页面中,示例4显示了正在使用的命名子模式。这里也对它们进行了一些解释,尽管不是特定于PHP: