草庐IT

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 - 使用 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

php - php 中的 preg_match

我想使用preg_match()这样给定字符串中就不应该有特殊字符,例如``@#$%^&/'`。例如:编码:输出有效:输出无效(以空格开头的字符串)项目管理:输出有效(两个词之间的空格有效)'Design23':输出有效23Designing:输出无效123:输出无效我尝试了但无法得出有效答案。 最佳答案 像这样的正则表达式有帮助吗?^[a-zA-Z0-9]\w*$意思是:^=这个模式必须从字符串的开头开始[a-zA-Z0-9]=此字符可以是任何字母(a-z和A-Z)或数字(0-9,另见\d)\w=单词字符。这包括字母、数字和空格(

php - preg_match_all html 标签,双引号或单引号中的标签除外

给定这个DOM$html=Bye","info":"Wewin"}'>TheAAnythinghere"}'>EOD;我正在尝试使用此表达式来preg_match_allhtml标签:$tags=array();if(preg_match_all('~]*>|~im',$html,$matchall,PREG_SET_ORDER)){foreach($matchallas$m){$tags[]=$m[0];}}print_r($tags);这个表达式的输出是:Array([0]=>[1]=>[2]=>[3]=>[4]=>[5]=>[6]=>[7]=>[8]=>[9]=>[10]=>[1

php - 正则表达式(php 中的 preg_match): last groups in the output array don't work correctly

使用这种模式:(howis\s)?(the\s)?(weather)\s?((on)\s)?(today|tomorrow|sunday|monday|tuesday|wednesday|thursday|friday|saturday|sunday|thisweek)?(\s(in)\s(.*)\s?(on)?\s?(today|tomorrow|sunday|monday|tuesday|wednesday|thursday|friday|saturday|sunday|thisweek)?)?这就是我要捕捉的东西输入:维也纳星期二的天气怎么样输出:array(100=>howis

来自 Array with Multine 的 PHP 正则表达式 preg_match 不匹配所有 block

想知道是否有人可以帮助我使用以下正则表达式,我无法匹配blockmultineCF.{CoordonneesAbonne}:在PHP的preg_match函数中使用时。奇怪的是,当我在线执行正则表达式时,尽管该block在另一个组中,它似乎仍然有效regex101example这是代码:sourcecode'CF.{Temps}:1',2=>'CF.{Etat}:return',3=>'CF.{Code}:2',4=>'CF.{Values}:plaque',5=>'',6=>'CF.{Coordonnees}:LAPERSONNE',7=>'',8=>'10000LAVILLE',9

php - preg_match_all( ) 在不同的服务器上表现不同

下面的代码在我的PC上的XAMPP上运行完美,但在我新买的VPS上不起作用。它使我的代码崩溃。preg_match_all("/$regex/siU",$string,$matches,PREG_SET_ORDER);这应该只是从HTML中获取链接和标题。以前,今天也出现过类似的正则表达式问题。代码在本地服务器上运行良好,但在vps上创建“连接已重置”错误。该问题是由一些注释的html(其中包含php代码)引起的,使用以下代码将其删除以优化输出,但即使连接重置的问题已解决,HTML在浏览器源代码中仍然有注释。$string=preg_replace('//','',$string);那