yaokunkun 2014-10-25 08:22 采纳率: 0%
浏览 693

php正则匹配问题,有警告

php 5.4的版本,代码运行提示警告。

提示如下:
Warning: preg_match(): Unknown modifier '/' in D:\wamp\www\www.yoyou.com\this.php on line 3
http://www.aixi.com不是合法域名

代码如下:
<?php
function isValidDomain($domain){
if(preg_match("/^(http|ftp)://(www.)?.+.(com|org|net)$/i",$domain))
return $domain.'是合法域名';
else
return $domain.'是合法域名';
}

echo isValidDomain("http://www.aixi.com");
?>

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 23:21
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在PHP中,preg_match()函数的/表示一个元字符。如果你使用了这个元字符作为模式的一部分,你必须确保它后面跟着一个合法的字符(例如'/')。在这个例子中,你的$domain.'是合法域名';部分将替换掉整个/,而不是仅替换其中的一个/

    解决这个问题的方法是在preg_match()函数之前添加一个撇号('/'),以指定你要查找的模式。这是修复后的代码:

    <?php
    
    function isValidDomain($domain){
        // 添加一个撇号('/')来指定要查找的模式
        $pattern = '/^http(s)?://(www.)?([a-zA-Z0-9.-]+)(\.com|\.org|\.net)/';
        
        if (preg_match($pattern, $domain)) {
            return $domain . '是合法域名';
        } else {
            return $domain . ' 不 是 合 法 域 名';
        }
    }
    
    echo isValidDomain("http://www.aixi.com");
    ?>
    

    现在,你应该不再收到警告了。

    评论

报告相同问题?