草庐IT

match_content

全部标签

php - 正则表达式 preg_match 未按预期工作

所以我从数据库中获取链接,这些链接看起来像这样:www.website.com/games/randomcode1/RANDOM-URL-TITLE-NEEDED.htmlwww.website.com/blabla/randomcode2/RANDOM-URL-TITLE-NEEDED2.htmwww.website.com/whatever/randomcode2/RANDOM-URL-TITLE-NEEDED3.html在我的foreach循环中,Urls表示为$row['links'];我想做的是只采用RANDOM-URL-TITLE-NEED。这意味着我需要url中从最后一个

php - 使用 preg_match 在一些字符后拆分字符串

我发现这段代码最多匹配300个字符,然后在下一个最近的分词符处中断:$var='Thisisatesttext1234567890testcheck12.'#44charspreg_match('/^.{0,300}(?:.*?)\b/iu',$var,$matches);echo$matches[0];44低于300,所以我希望输出与$var相同。但是输出是:Thisisatesttext1234567890testcheck12#43chars$matches[0]没有在末尾给我点,但是$var有。任何人都可以告诉我如何获得完整的字符串(带点)? 最佳答

PHP preg_match 部分 url

我正在尝试用PHP创建一个url路由器,它的工作原理与django类似。问题是,我不太了解php正则表达式。我希望能够像这样匹配url:/post/5//article/slug-goes-here/我有一组正则表达式:$urls=array("(^[/]$)"=>"home.index","/post/(?P\d+)/"=>"home.post",);数组中的第一个正则表达式与位于/的主页匹配,但我无法让第二个正则表达式工作。这是我用来匹配它们的代码:foreach($urlsas$regex=>$mapper){if(preg_match($regex,$uri,$matches)

php preg_match 噩梦

我无法理解正则表达式,感谢任何帮助!我有很多字符串数据,可能包含也可能不包含字符串“1/10”或“2/10”或“2/18”等。基本上,分子和分母都可以变化。让事情变得更复杂的是,一些数据输入运算符(operator)可能在分子和分母之间的任何地方放置了一个空格!!所以我的输入可能是:“x/y”或“x/y”或“x/y”或“x/y”或“x/y”......可能还有更多组合:(在任何这些情况下,我希望确定x和y是否为数字,以及它们之间是否有“/”斜线。对正则表达式感到绝望,请帮忙我正在用php编写代码,我想需要使用preg_match。感谢阅读。 最佳答案

php - file_exists() 和 file_get_contents() 在 PHP 中名为 output‹ÕÍÕ¥.txt 的文件上失败?

file_exists()和file_get_contents()在名为output‹ÕÍÕ¥.txt的文件上失败(例如),虽然我知道它存在?我猜它与文件名中的特殊字符有关?想知道有什么解决方法吗?感谢所有回复。仅供引用:请注意,如果您认为为什么不简单地更改文件名呢?-我不能因为文件名是一般生成的,更改文件名将意味着使用PHP的文件函数(这似乎不允许文件名args中的特殊字符-除非我误解/误解了任何东西).我在Windows上使用PHP5.2。 最佳答案 确保文件系统的编码与PHP代码中包含文件名的字符串的编码相同。否则您正在测试是

php - Kohana 3.2 request->headers ['Content-Type'] 一直失败

由于某些原因,这在Kohana3.2中不起作用:$this->request->headers['Content-Type']='text/xml';自Kohana3.1以来,这有变化吗? 最佳答案 它也不应该在3.1中工作,但这应该:$this->request->headers('Content-Type','text/xml');参见http://kohanaframework.org/3.2/guide/api/Request#headers这是3.1的请求/响应重构更改之一。

php - 正则表达式 (preg_match)

这是无效的代码:Hyperlink';}?>我想要的是,如果链接前后有空格,它就不应该显示链接。所以现在它应该什么都不显示。但它仍然显示链接。 最佳答案 这样也可以匹配ID12,因为3不是空格,http:/的/也不是空格。你可以试试:preg_match_all('/^\S*\/videosite\.com\/(\w+)\S*$/i',$matchWith,$matches); 关于php-正则表达式(preg_match),我们在StackOverflow上找到一个类似的问题:

php - curl 发布 : 400 Invalid content length

我在使用PHP中的cURL脚本发送POST请求时遇到问题。我正在尝试制作一个代理,主要是供我个人使用,它将通过服务器获取网页并在本地显示给我。找到的URL是这样的:http://fetch.example.com/http://theurl.com/当我在该页面上的表单中发帖时,它将转到表单的ACTION(获取URL在前面)。我正在尝试使用下面的代码让它处理这个POST请求,但我POST的任何内容总是会带来400BadRequest错误。$chpg=curl_init();curl_setopt($chpg,CURLOPT_URL,$_URL);curl_setopt($chpg,CU

php - 如何使用 preg_match 返回只需要的匹配

我正在尝试从这样的uris列表中解析一个整数:uri.com/upload/123456789_abc.ext我正在使用这种模式:preg_match("#uri\.com\/upload\/(.*?)_#is",$uri,$match);哪个有效并返回:Array([0]=>uri.com/upload/123456789_[1]=>123456789)但我想知道是否有办法使$match=="123456789"而不是返回具有多个值的数组。只修改模式是否可以做到? 最佳答案 它将始终返回一个数组,但您可以更改模式,以便它只匹配您想

php - 将标题 ('Content-Type: image/png' ) 放在任何地方

我想包含带有标题的代码,是否可以放置header('Content-Type:image/png')代码中的任何地方都没有出错? 最佳答案 没有。header()必须在向用户提供任何输出之前。来自docs:请记住,必须在发送任何实际输出之前调用header(),无论是通过普通HTML标记、文件中的空行还是从PHP发送。使用include或require函数或其他文件访问函数读取代码,并在调用header()之前输出空格或空行是一个非常常见的错误。使用单个PHP/HTML文件时也存在同样的问题。