草庐IT

REGEX_EXTRACT_ALL

全部标签

带或不带尾部斜杠的 PHP RegEx

我的目标:要捕获URL的最后一部分,无论是否有尾部斜杠,尾部斜杠不是URL上字符串的一部分,类似于以下内容:http://foo.com/p/dPWjiVtX-C/^^^^^^^^^^ThestringIwant我的问题:我尝试的每一种方法都只允许尾部斜杠,而不是没有尾部斜杠的url,或者使尾部斜杠包含在我想要的字符串中。我尝试了什么?1.我试过在末尾加一个斜线:$regex="/.*?foo\.com\/p\/(.*)\//";if($c=preg_match_all($regex,$url,$matches)){$id=$matches[1][0];print"ID:$id\n";

php - Symfony 3 中的 Catch-all 路由

我在Symfony2中有一个包罗万象的回退路线,但我无法在Symfony3中工作。我尝试了这个确切的语法(我的Symfony2路由的逐字副本)但没有用。fallback:path:/{req}defaults:{_controller:MyBundle:Default:catchAll}requirements:req:".+"我怎样才能让它在Symfony3中工作?(这实际上是唯一阻止我使用Symfony3并让我保持在v2.8的东西) 最佳答案 这对您有帮助:route1:path:/{req}defaults:{_control

php - 为什么 preg_match_all 返回两个匹配项?

我正在尝试使用preg_match_all来确定一个字符串是否在双引号之间有任何单词,但是它是重复的结果,第一个结果的两边都有两组双引号,其中作为被搜索的字符串只有一套。这是我的代码:$str='Teststart."Testmatchthis".Testend.';$groups=array();preg_match_all('/"([^"]+)"/',$str,$groups);var_dump($groups);然后vardump产生:array(2){[0]=>array(1){[0]=>string(17)""Testmatchthis""}[1]=>array(1){[0]

php - 正则表达式 : Match 1 to 60 or all

我需要一些关于php(Symfony)中的正则表达式的帮助。我想匹配值1到60或全部字符串。对于数字,我使用了这个:^([1-5]?[0-9]|60)但它匹配0...而我不要现在怎么能匹配“全部”。你能帮帮我吗?非常感谢之前 最佳答案 您应该能够将其分为以下几种可能性:^([1-9]|[1-5][0-9]|60|all)$这给了你四种可能性:[1-9]个位数的值。[1-5][0-9]:从十到五十九的所有内容。60:六十。all:您的“全部”选项。但请记住,正则表达式并不总是所有问题的答案。有时它们对于复杂的值检查不太有用(尽管在这种

php - Regex PHP - 自动检测 YouTube、图像和 "regular"链接

我想在我的聊天应用程序中实现网站链接可点击,并自动嵌入YouTube和图像链接。我已经为我的WebIRC客户端用Java编写了这段代码,但现在我正在尝试用PHP和JavaScript编写它。我还不熟悉PHP,所以我不太了解在那里使用正则表达式。我想知道是否有好心人可以帮助我解决这个问题......对于YouTube-thingy,我尝试了这个但没有成功:if(preg_match("#(?",$message);} 最佳答案 这是我想出的解决方案:$str='Thisisanimage:google.ca/images/srpr/l

php - 多维数组 : How to get all values of a specific key?

这个问题在这里已经有了答案:Howtogetanarrayofspecific"key"inmultidimensionalarraywithoutlooping[duplicate](4个答案)关闭去年。我有一个包含ID和URL的多维数组。我只想输出URL。$abstract_details=array(array('id'=>68769782222,'url'=>'http://yourclick.ch'),array('id'=>111,'url'=>'http://google.com'));foreach($abstract_detailsas$abstract_detail

PHP/Zend : How to remove all chars from a string and keep only numbers

我只想保留数字并从变量中删除所有字符。例如:input:+012-(34).56.(ASD)+:"{}|78*9output:0123456789 最佳答案 这是一般的做法:$numbers=preg_replace('/[^0-9]+/','','+012-(34).56.(ASD)+:"{}|78*9');echo$numbers;输出:0123456789 关于PHP/Zend:Howtoremoveallcharsfromastringandkeeponlynumbers,我们在

php - 将 preg_match() 与 REGEX 表达式一起使用时的未知修饰符 '('

这个问题在这里已经有了答案:Warning:preg_replace():Unknownmodifier(3个答案)关闭3年前。我正在尝试使用preg_match()通过PHP验证诸如DD/MM/YYYY之类的日期。这是我的REGEX表达式的样子:$pattern="/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";但是用正确的值使用它,我得到这个消息:preg_match():Unknownmodifier'('完整代码:$pattern="/^([123]0|[012][1-9]|31)/(0[1-

php - 用于分页的 Codeigniter count_all

我正在尝试在codeigniter中创建分页,并且可以正常工作,但我遇到了一个小问题。它似乎正在加载我数据库中的所有条目,而不是我想要的选定条目。publicfunctionoriginal_count(){$this->db->where('type','Original');return$this->db->count_all("story_tbl");}我知道发生的事情是最后一行压倒了我之前的陈述。我似乎无法找到解决方法。我只尝试了一个直接的sql语句然后返回它,但我也无法让它工作。这是我的声明...SELECTCOUNT(*)FROMstory_tblwheretype='Or

PHP REGEX - 在换行符处按 preg_split 排列的文本

已编辑:需要拆分数组方面的帮助数组示例:array([0]=>:somenormaltext:somelongtexthere,andsoon...sometimesi'mbreakingdownand...:somenormaltext:somenormaltext)好的,现在通过使用preg_split('#\n(?!s)#',$text);我明白了[0]=>Array([0]=>somenormaltext[1]=>somelongtexthere,andsoon...sometimes[2]=>somenormaltext[3]=>somenormaltext)我想得到这个:[