草庐IT

ignore_match

全部标签

PHP:使用 preg_match 获取 url 变量?

http://www.example.com?id=05或http://www.example.com?id=05&name=johnny这是一个字符串。我想从中获取$id的值。它的正确模式是什么? 最佳答案 您不需要正则表达式(除非您有充分的理由,否则您以后不应该直接跳到正则表达式)。使用parse_url()使用PHP_URL_QUERY检索查询字符串。然后将其与parse_str()配对.$querystring=parse_url('http://www.mysite.com?id=05&name=johnny',PHP_U

php - Preg_match 用于所有特殊字符,密码检查

好的,我正在为我们的密码策略编写一个密码检查器,它需要4个主要分类中的3个。我遇到问题的地方是特殊字符匹配。这是我目前所拥有的:privatefunctionPasswordRequirements($ComplexityCount){$Count=0;if(preg_match("/\d/",$this->PostedData['password'])>0){$Count++;}if(preg_match("/[A-Z]/",$this->PostedData['password'])>0){$Count++;}if(preg_match("/[a-z]/",$this->Poste

regex - PHP preg_match_all 限制

我将preg_match_all用于非常长的模式。当运行代码时,我得到了这个错误:Warning:preg_match_all():Compilationfailed:regularexpressionistoolargeatoffset707830经过搜索,我得到了解决方案,所以我应该增加php.ini中的pcre.backtrack_limit和pcre.recursion_limit的值>/p>但是在我增加值并重新启动我的apache之后,它仍然遇到同样的问题。我的PHP版本是5.3.8 最佳答案 该错误与正则表达式的性能无关

php - 带有 preg_match 的有效电子邮件

这个问题在这里已经有了答案:HowtovalidateanEmailinPHP?(7个答案)关闭8年前。我在使用preg_match()验证电子邮件地址时遇到问题。这是我的代码块。if(VerifierAdresseMail($email))echo'valide.';elseecho'notvalid';functionVerifierAdresseMail($adresse){$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';if(preg_match($Syntaxe,$adresse))returntrue;elsereturnfals

php - 在多维数组上使用 preg_match 返回键值数组

我有一个结构如下的数组:$data=array("abc"=>array("label"=>"abc","value"=>"def","type"=>"ghi","desc"=>"jkl",),"def"=>array("label"=>"mno","value"=>"qrs","type"=>"tuv","desc"=>"wxyz",),);我想使用带有foreach循环的preg_match来对$data中包含的数组执行搜索并返回键值对的嵌套数组。 最佳答案 对于谷歌员工来说,这里有更好的代码$data=$pattern="/w

括号之间的php preg_match

我想使用preg_match来查找括号之间的文本,例如:$varx="(xx)";最终输出将是$match='xx';另一个例子$varx="blabla(yy)blabla";最终输出将是这样的$match='yy';换句话说,它去掉了括号。我仍然对正则表达式感到困惑,但发现有时预匹配是更简单的解决方案。搜索其他示例但不符合我的需要。 最佳答案 尝试这样的事情:preg_match('/(?现在它将捕获换行符。 关于括号之间的phppreg_match,我们在StackOverflow

php - preg_match 用于某些部分的评论

我想找到评论的某些部分。以下是一些例子/**@todonameanother-nametaskID*//*@todonameanother-nametaskID*/目前我正在使用以下正则表达式'/\*[[:space:]]*(?=@todo(.*))/i'这将返回以下内容:*@todonameanother-nametaskIDor*@todonameanother-nametaskID*/我怎样才能只得到@todo和名称,而不是任何星号?期望的输出@todonameanother-nametaskID@todonameanother-nametaskID

php - 为什么 echo 在 do while 循环中甚至在 ignore_user_abort(1) 时都不起作用?

我使用日志打印机来测试ignore_user_abort是否有效,它确实有效。但是echo不想工作。只有在循环完成时echo才会起作用吗? 最佳答案 是的,也不是。您需要担心三个输出缓冲区:PHP可以缓冲输出。您可以使用ob_functions控制缓冲区并强制输出到apache/iis(网络服务器)Apache/IIS有自己的缓冲区,只有在它们认为有足够的空间可以发送时才会发送信息。这也被mod_gzip或其他压缩所复杂化。您无法通过PHP控制它。您的浏览器和服务器之间还可能存在其他缓存/代理。这些可能会暂停输出,直到收到完整响应。

php - 使用 preg_match_all 匹配模式并排除子字符串

我需要找到位于START和END之间的所有字符串,从匹配的字符串中排除PADDING子字符串。我发现的最好方法是$r="stuffSTARTthisPADDINGisENDstuffstuffSTARTwhatPADDINGIwantPADDINGtoPADDINGfindENDstuff";preg_match_all('/START(.*?)END/',str_replace('PADDING','',$r),$m);print(join($m[1]));>thisiswhatIwanttofind我想用尽可能小的代码来做到这一点:有一个更短的只有preg_match_all没有s

php - haxe (php) https 调用 : stream_socket_client() Peer certificate CN did not match expected CN

我正在使用haxe的Http类(编译为php)通过https将request()发送到AWS。这是一个使用haxe-aws库(https://github.com/Blank101/haxe-aws)的最小示例:variamconf=newIAMConfig('newbucket.s3-eu-central-1.amazonaws.com',accessKey,secretKey,'eu-central-1','s3');varsig4=newSig4Http('https://newbucket.s3-eu-central-1.amazonaws.com/',iamconf);sig