当前位置: 首页 > 面试题库 >

使用preg_match检测网址?字符串中不含http://

董昕
2023-03-14
问题内容

我想知道如何根据preg_match检查分成数组的字符串,看看它是否以www开头。我已经有一个检查http:// www的了。

function isValidURL($url)
{
return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}

$stringToArray = explode(" ",$_POST['text']);

  foreach($stringToArray as $key=>$val){
  $urlvalid = isValidURL($val);
  if($urlvalid){
  $_SESSION["messages"][] = "NO URLS ALLOWED!";
  header("Location: http://www.domain.com/post/id/".$_POST['postID']);
     exit();
     }
     }

谢谢!斯特凡


问题答案:

您想要类似的东西:

%^((https?://)|(www\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%i

这是使用| 匹配http://www开头。我更改了定界符,%以避免与|



 类似资料:
  • 问题内容: 这是一个简单的问题,但是我不明白。我想检测字符串中的url,然后将其替换为较短的url。 我从stackoverflow找到了这个表达式,但是结果仅仅是 有更好的主意吗? 问题答案: m.group(1)为您提供第一个匹配组,即第一个捕获括号。这是 您应该尝试查看m.group(0)中是否有内容,或者用括号将所有模式括起来,然后再次使用m.group(1)。 您需要重复查找功能以匹配下

  • 同 find() 方法类似,index() 方法也可以用于检索是否包含指定的字符串,不同之处在于,当指定的字符串不存在时,index() 方法会抛出异常。 index() 方法的语法格式如下: str.index(sub[,start[,end]]) 此格式中各参数的含义分别是: str:表示原字符串; sub:表示要检索的子字符串; start:表示检索开始的起始位置,如果不指定,默认从头开始检

  • find() 方法用于检索字符串中是否包含目标字符串,如果包含,则返回第一次出现该字符串的索引;反之,则返回 -1。 find() 方法的语法格式如下: str.find(sub[,start[,end]]) 此格式中各参数的含义如下: str:表示原字符串; sub:表示要检索的目标字符串; start:表示开始检索的起始位置。如果不指定,则默认从头开始检索; end:表示结束检索的结束位置。如

  • 问题内容: 例如: 如何提取“ http://www.google.com”? (每个链接的格式都相同,即“ http://”) 问题答案: 可能有几种方法可以做到这一点,但最干净的方法是使用正则表达式 如果可以有多个链接,则可以使用类似于以下内容的链接

  • 想知道什么在什么不在吗?Puppet 的 in 可以帮你, 如下面的表达式: if "foo" in $bar 如果 foo 是 $bar 的子串,表达式的值为 true。 如果 $bar 是个数组,并且 foo 是这个数组中的一个元素,表达式的值为 true。 如果 $bar 是一个哈希,foo 是 $bar 的一个键值,表达式的值为 true。 操作步骤 在你的配置清单中添加如下代码: if

  • 本文向大家介绍java实现检测是否字符串中包含中文,包括了java实现检测是否字符串中包含中文的使用技巧和注意事项,需要的朋友参考一下 代码非常实用,这里就不错废话,直接奉上 主要功能是实现判断字符串是否包含汉字 并且替换成ASCLL 我们来看个稍微简单些的代码,一些需求不高的地方可以用到 最后我们附上各种字符的unicode编码的范围:      * 汉字:[0x4e00,0x9fa5](或十进