草庐IT

第一部

全部标签

php - 从头开始匹配字符串的一部分

我有一个日期(例如yyyy-mm-ddhh:mm:ss),如果我们有一个字符串完全匹配或部分匹配该模式,我希望能够从头开始返回true结束。例如。44会匹配模式,因为44会匹配yy但-12不会匹配,因为-不是一个有效的“y”字符。我想到了一些不雅的解决方案。我可以对这样的东西进行preg_match:#^\d(\d(\d(\d(-)?)?)?)?$#这只是根据年份执行部分匹配。它需要扩展以说明月、日、小时、分钟等,但这应该表明想法#1。我也可以做类似...$patterns=['','\d','\d\d','\d\d\d','\d\d\d\d','\d\d\d\d-',...];iss

php - 仅基于第一个值的唯一数组?

这个问题在这里已经有了答案:Filter/Removerowswherecolumnvalueisfoundmorethanonceinamultidimensionalarray(4个答案)关闭7个月前。我的数组:$arr=[['abc','a'],['xyz','f'],['abc','x']];我需要删除任何重复的第一个值,例如。上面有两个abc值,array_unique将不起作用,因为第二个值不同:$arr=array_unique($arr,SORT_REGULAR);有没有办法根据第一个值只获取唯一值。我不能改变上面的结构。期望的输出是:$arr=[['abc','a']

php - Slim 3 - 斜杠作为路由参数的一部分

我需要使用可以包含斜杠/的参数组成URL。例如,经典的/hello/{username}路由。默认情况下,/hello/Fabien将匹配此路由,但不会匹配/hello/Fabien/Kris。我想问你如何在Slim3框架中做到这一点。 最佳答案 Routeplaceholders:For“Unlimited”optionalparameters,youcandothis:$app->get('/hello[/{params:.*}]',function($request,$response,$args){$params=explo

php - 正则表达式匹配字符串的一部分

我有这种类型的字符串:aabbcc-12-00001-g001-1024.pngddeeffgg-1-50001-i001-500.jpgddeeffgg-1-50001-i001.jpg我想提取没有大小的文件名,它始终是文件扩展名之前的-xxx或-xxxx。例如,对于三个字符串,我想匹配:aabbcc-12-00001-g001.pngddeeffgg-1-50001-i001.jpgddeeffgg-1-50001-i001.jpg我的想法是先调整大小,然后将preg_replace与PHP一起使用,但不确定如何只匹配大小,尝试使用:-\d{3,4}\.[a-z]{3}但这是匹配-

PHP - 选择两个字符之间的字符串的一部分

我一直在对此进行研究,我相信答案与正则表达式有关,但我就是无法理解它们。我有很多字符串,我需要在两个字符之间选择一个数字。这是一个示例字符串&user18339=18339,20070103,175439,pmt,793,A/3/1/2,335,793,A/3/1/2,我需要A/3/1/2,之后和,之前的数字在这个例子中我需要选择335。我可以使用explode来做到这一点,但是当我需要从字符串中获取多个数字时会遇到问题,如下例所示。这是另一个示例字符串&user31097=31097,20070105,092612,pmt,4190,A/3/1/2,142,1162,A/3/1/1,

php - SimpleXML 能否只加载 XML 的一部分?

有没有办法不加载整个feed而只加载前10个标签?$feed='rssfile';$xml=simplexml_load_file($feed);//nottheentirefeedthough 最佳答案 没有。DOM解析器(例如SimpleXML)只能加载整个文档。但是你可以使用XPath来过滤相关部分:$xml=simplexml_load_file($feed);$top10=$xml->xpath('/rss/channel/item[position() 关于php-Simpl

php - 如何仅从 getElementsByTagName 获取第一个结果?

这个问题在这里已经有了答案:PHPDOMDocument,requirefirstitemonly(2个答案)关闭9年前。您好,我正在使用代码从url地址获取所有图像的地址。我想问一下如何只得到第一个结果而不是所有匹配项?这是我使用的代码:loadHTML($html);$tags=$doc->getElementsByTagName('img');foreach($tagsas$tag){echo$tag->getAttribute('src');}?>所以请告诉我如何只得到一个结果-第一个!提前致谢。

php - 正则表达式在第一个找到的子模式处停止

让我们考虑接下来的两个例子。preg_match('/^(\pL+)(?:bcd|cd|d)$/u','abcd',$matches);preg_match('/^(\pL+)(?:d|cd|bcd)$/u','abcd',$matches);两个示例都将“abc”作为$matches[1]返回。为什么正则表达式不会在非匹配组中首次找到子模式时停止?是否可以在“bcd”处停止并获得“a”作为$matches[1]? 最佳答案 为了完成其他答案,这是对所发生情况的示意图描述:str|pattern|state|description-

php - mkdir() 跳过 foreach 函数中的第一个文件

我有一个脚本可以读取URL-Image-List并将图像保存在基于URL的文件夹中。这是我的脚本://OpentheURLandsaveeachlineinaarray$file=fopen("http://www.edem.de/php/imglist.ashx","r");$fileArray=array();while(($line=fgetss($file))!==false){$fileArray[]=$line;}//Sortthearrayarray_multisort(array_values($fileArray),SORT_NUMERIC,array_keys($f

php - Custom Drupal 7 Field 只保存第一个字符

我实际上是在尝试使用新的Drupal7FieldAPI创建我的第一个字段类型模块。我设法让它在“编辑”View中正确显示。但是,当我尝试保存一些数据时,它只保存了第一个字符。这是模块:array('label'=>t('Youtubevideo'),'description'=>t('ThisfieldstoresayoutubevideoIDanddisplaysthevideoassociatedwithit'),'settings'=>array('max_length'=>11,),'instance_settings'=>array('text_processing'=>fa