我要用PHP建立一个多语言网站,需要有一个preg_match来传递所有Unicode字符和数字。即我需要它来传递英文字母、西类牙文字母、意大利文字母,正如您可能知道的那样,我不想传递其他字符,例如'"_-和...我想要这样的东西:$pattern='/^[unicodecharswithout\'-_;?]*$/u';if(!preg_match($pattern,$url))echo#error; 最佳答案 字母的Unicode属性是\pL所以在preg_match中:preg_match('/^\pL+$/u',$string
我遇到了一个关于preg_match()和反斜杠的奇怪问题。我正在尝试检查非法字符的用户名。它适用于几乎所有东西,但显然像“BobDobbs”这样的用户名正在通过。我已经设法使用strpos()轻松地解决了这个问题,但我仍然不确定我的语法有什么问题。运行PHP5.3.10。$displayname='BobDobbs\\\\';if(preg_match("/[^A-z0-9_.-]/",$displayname)){$errors[]='Namecontainsillegalcharacters';} 最佳答案 范围A-z包含\字
这个问题在这里已经有了答案:MatchingUTFCharacterswithpreg_matchinPHP:(*UTF8)WorksonWindowsbutnotLinux(3个答案)关闭9年前。我正在尝试为任何给定的字符串创建一个正则表达式。目标:删除所有不是“latin”或“lowercasegreek”或“numbers”的字符".到目前为止我做了什么:[^a-z0-9]这非常适合拉丁字符。当我尝试这个时:[^a-z0-9α-ω]运气不好。有效但遗漏了任何其他符号,如!!#$%@%#$@,`我对正则表达式的了解有限。任何帮助将非常感激!编辑:下面发布的是匹配指定字符并从中创建一
您好,我开始学习php正则表达式并遇到以下问题:我需要提取$string中的数字。我使用的正则表达式返回“NULL”。$string='Clasificación(2194)';$regex='/Clasificación((.*?))/';preg_match($regex,$string,$match);var_dump($match);提前致谢。 最佳答案 您的正则表达式存在三个问题:您没有转义正斜杠。您使用正斜杠作为分隔符,因此如果您想将它用作表达式中的文字字符,则需要将其转义((.*?))不做你认为它做的事。它创建了两个捕
我被困在这里,找不到我的问题的任何结果,可能是因为英语不是我的母语。我想匹配序列中最多包含30个字母/数字的行:这甚至可以用preg_match实现吗?preg_match("/[^A-Za-z0-9](max30inasequence)/",$string)字符串:$string="1234567890123456789012345678901234567890";//FALSE$string="sdfihsgbfsadiousdghiug";//TRUE$string="cfgvsdfsdf786sdf78s9d8g7stdg87stdg78tsd7g0tsd9g7t";//FAL
我使用两个正则表达式从MySQL查询中提取分配并使用它们创建审计跟踪。其中一种是“挑剔”的,需要引用列名称等,另一种则不需要。它们都经过测试并正确解析出值。我遇到的问题是,对于某些查询,“挑剔”的正则表达式实际上只会导致Apache出现段错误。我尝试了多种方法来确定这是将正则表达式留在代码中的原因,并且只是修改条件以确保它没有运行(以排除某种编译时问题或其他问题).没有问题。只有当它针对特定查询运行正则表达式时才会出现段错误,而且我找不到任何明显的模式来告诉我原因。有问题的代码:if($picky)preg_match_all("/[`'\"]((?:[A-Z]|[a-z]|_|[0-
我有不同格式的html数组[amp;src]=>image,anotherone[posthtml]=>image2,anothertwo[nbsp;image3如何使用常用的preg_match()提取img和文本,通过它我们可以从html中得到完美的图像src和文本。如果无法使用preg_match(),是否有另一种方法来修复它。有知道的请回复一下。如何修复它。我需要你的手。 最佳答案 推荐的方式是使用DOM$dom=newDOMDocument;$dom->loadHTML($HTML);$images=$dom->getEl
所以前几天我刚刚了解了PHP中的preg_match,现在我正在尝试preg_match车牌。它应该检查这个:9a-4e-yy,所以-和数字或字母前后,然后是-和更多数字或字母。但它必须恰好是彼此相邻的2个数字或字母,不能更多。现在我有这段代码:returnpreg_match("/^([0-9])"."([0-9])"."(\-([0-9])"."([0-9]))"."(\-([0-9])"."([0-9]))$/",$kenteken);但这只会检查数字。我希望你们能帮助我让它也能处理字母。提前致谢! 最佳答案 [0-9]只匹配
我正在检查信用卡字段以确保它们每个都包含四位数字。functioncreditcard($creditCard1,$creditCard2,$creditCard3,$creditCard4){$regexp="/^[0-9]{4}$/";if(preg_match($regexp,$creditCard1,$creditCard2,$creditCard3,$creditCard4))//line18{returnTRUE;}else{echo'alert("Enteravalidcreditcardnumber.")';returnFALSE;}}$creditCard1=$_PO
尝试匹配以下内容:rawurl="http://www.domain.com/page/etc/"URL本身是可变的,可以包含各种内容!?查询字符串等等。是否有转义函数使其正则表达式安全?到目前为止我已经有了这个$varisalreadydefined..$url="www.adomain.com/with/extras/"$url=str_replace("\/","/",$url);//maybemoreneededhere.$pattern="/rawurl\=\"http\:\/\/$url/";preg_match($pattern,$var,$out);在正确格式化正则表达