Preg match preg_match可使用多种语言匹配url

Preg match preg_match可使用多种语言匹配url,preg-match,Preg Match,我使用标准preg_匹配来制作url http://domainlllll.com/ 而且它没有任何问题 preg_match("/^[0-9a-z_\/.\|\-]+$/",$url) 但是现在我想支持多种语言,所以我使用了它,它也可以正常工作 preg_match("/\S+/",$url) 我的网址是 link/kn/some-word-গরম-এবং-সেক্সি-ইমেজ/611766 但我想排除一些黑客最喜欢的特殊字符,如单引号和其他。我不想排除所有特殊字符,因

我使用标准preg_匹配来制作url

  http://domainlllll.com/
而且它没有任何问题

  preg_match("/^[0-9a-z_\/.\|\-]+$/",$url)
但是现在我想支持多种语言,所以我使用了它,它也可以正常工作

   preg_match("/\S+/",$url)
我的网址是

link/kn/some-word-গরম-এবং-সেক্সি-ইমেজ/611766
但我想排除一些黑客最喜欢的特殊字符,如单引号和其他。我不想排除所有特殊字符,因为少数是少数语言的一部分,这将打破这些语言的链接


任何指南都很好

瞧,
/^[0-9a-z\/.\\\\\-]+$/
regex需要整个字符串来匹配模式、定义范围(数字、小写ASCII字母)中的1+字符和集合。
/\S+/
正则表达式不需要完整的字符串匹配,因为不存在锚定、
^
(字符串开始)和
$
(字符串结束),并且匹配字符串中任意位置的一个或多个非空白字符

如果您计划匹配只包含非空白符号而不包含引号的字符串,请使用

preg_match('~^[^\s\'"]+$~', $url)
^[^\s\'”]+$
匹配

  • ^
    -字符串的开头
  • [^\s\'”]+
    -1个或多个字符,而不是空格(
    \s
    )、
  • $
    -字符串结尾(如果需要验证字符串,最好使用
    \z

看,
/^[0-9a-z\/.\\\\\\\\-]+$/
正则表达式需要整个字符串来匹配模式、定义范围(数字、小写ASCII字母)中的1+字符和集合。
/\S+//code>正则表达式不需要完全字符串匹配,因为没有锚、
^
(字符串的开头)和
$
(字符串的结尾),并匹配字符串中任意位置的1个或多个非空白字符

如果您计划匹配只包含非空白符号而不包含引号的字符串,请使用

preg_match('~^[^\s\'"]+$~', $url)
^[^\s\'”]+$
匹配

  • ^
    -字符串的开头
  • [^\s\'”]+
    -1个或多个字符,而不是空格(
    \s
    )、
  • $
    -字符串结尾(如果需要验证字符串,最好使用
    \z

是否要与
^\S+$
模式匹配,但向其添加一些排除的字符?像
'/^[^\s\']+$/'
?@WiktorStribiżew在匹配这段时间时显示157ms?????显示14ms。你想匹配
^\s+$
模式,但添加一些排除的字符吗?像
'/^[^\s\']+$/'/code>?@WiktorStribiżew在匹配这段时间时显示157ms?????显示14毫秒。