草庐IT

sess_match_ip

全部标签

php - PHP 中的正则表达式 : find the first matching string

我想在非常非常长的文本中找到第一个匹配的字符串。我知道我可以使用preg_grep()并获取返回数组的第一个元素。但是如果我只需要第一场比赛(或者我知道提前只有一场比赛),这样做效率不高。有什么建议吗? 最佳答案 preg_match()?preg_match()returnsthenumberoftimespatternmatches.Thatwillbeeither0times(nomatch)or1timebecausepreg_match()willstopsearchingafterthefirstmatch.preg_m

php - 如何只允许某些 IP 查看网页?

我正在尝试让PHP脚本工作,它将人的IP与文本文件(每行一个IP)进行比较。如果此人的IP不在文本文件中,那么他将被重定向到declined.html。我知道我可以为此使用.htaccess,但IP列表可能会变得非常非常长。这是我目前的代码:我希望能够在我只希望某些IP看到的每个页面中调用此脚本,这就是我尝试调用它的方式:当我的IP不在ip.txt中时,当我在HTML页面中调用PHP脚本时,它不会将我重定向到/declined.html!我怎样才能解决这个问题?同样,我的问题不是如何使用.htaccess,而是如何修复我的脚本!谢谢。 最佳答案

php - 这是 php 中的快速进程 strpos()/stripos() 或 preg_match()

我只想知道在php中,strpos()/stripos()或preg_match()函数中哪一个会更快。 最佳答案 我找到了thisblog已经对你的问题做了一些测试,结果是:strpos()比preg_match()快3-16倍stripos()比strpos()慢2-30倍stripos()比preg_match()快20-100%无大小写修饰符“//i”在preg_match()中使用正则表达式并不比使用正则表达式快长字符串在preg_match()中使用utf8修饰符“//u”使其慢2倍使用的代码是:

PHP 数组 : summing values with matching dates

我正在尝试弄清楚如何对具有相似日期的多维数组的某些值求和。这是我的数组:2011,'month'=>5,'day'=>13,'value'=>2),array('year'=>2011,'month'=>5,'day'=>14,'value'=>5),array('year'=>2011,'month'=>5,'day'=>13,'value'=>1),array('year'=>2011,'month'=>5,'day'=>14,'value'=>9));?>这是我希望输出的样子:2011,'month'=>5,'day'=>13,'value'=>3//thesumof1+2),a

php - 尝试在 Preg_Match 中查找正斜杠

我已经搜索了几个小时,试图找到解决这个问题的方法。我正在尝试确定REQUESTURI是否合法并从那里分解它。$samplerequesturi="/variable/12345678910";判断是否合法,第一段variable只有字母,长度可变。第二部分是数字,总共应该有11个。我的问题是转义正斜杠,以便它在uri中匹配。我试过:preg_match("/^[\/]{1}[a-z][\/]{1}[0-9]{11}+$/",$samplerequesturi)preg_match("/^[\\/]{1}[a-z][\\/]{1}[0-9]{11}+$/",$samplerequestu

PHP:Preg_match_all 将 html 提取到字符串中

我有这样的html:Tagged:sports,entertain,funny,comedy,automobile,moretags.如何将运动、娱乐、搞笑、喜剧、汽车提取到字符串中我的phppreg_match_all看起来像这样:preg_match_all('/(.*?),/',$this->page,$matches);echovar_dump($matches);echoimplode('',$tags);它不起作用。 最佳答案 我不确定您是如何从中获取$this->page的,但是以下内容应该会如您所料:http://i

php - 如何比较 IP 和 URL,看看它们是否访问同一个网站

如果IP和URL指向同一个网站,我如何在PHP中查看?我用curl获取网站内容,相互比较,看网站是否相同。如果它不一样,它会说false。这没有用! 最佳答案 为此,您可以使用gethostbyname。例如$ip="1.2.3.4";$domain="www.example.com";if(gethostbyname($domain)==$ip){echo'IP/URLMatch.';}gethostbyname()编辑:Quentin指出,这并不意味着他们会访问正确的网站。我看错了帖子的开头。只有当IP地址的默认虚拟主机指向与U

php - 如果代理的 IP 被阻止,正确的 HTTP 状态代码是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion我正在开发一个基于PHP和MySQL的IP阻止系统,该系统应该阻止来自特定国家/地区的所有用户代理。如果代理被阻止,我应该使用哪个状态代码?编辑:我再详细说明一下:我担心搜索引擎(例如Google)可能会对此做出怎样的react。同一个搜索引擎是否有可能两次抓取页面并在两次情况下都出现冲突状态?比方说,Google机器人总是“美国人”吗?

php - preg_match 在第二个斜杠后向后看

这是我的字符串:stringa/stringb/123456789,abc,cde在preg_match之后:preg_match('/(?输出是:stringb/123456789如何更改我的preg_match以在第二个斜线(或最后一个斜线之后)后提取字符串?期望的输出:123456789 最佳答案 您可以将/以外的任何内容匹配为/(?[^\/,]*否定字符类匹配除,或\以外的任何字符RegexDemo示例preg_match('/(?123456789 关于php-preg_mat

PHP难的preg_match

我正在尝试管理我用于XBMC的个人Web服务器上的一些文件,但所有文件(来自YIFY的电影)的名称如下Jumanji.1995-720p.YIFY.mp4Silver.Linings.Playbook.2012.1080p.x264.YIFY.mp4AmericanHustle(2013)1080pBrRipx264-YIFY.mp4请注意,有些项目用.分隔,而其他项目则用_或空格分隔。所以我需要做的是将文件preg_match到一个数组(title,year,quality)我只知道一些preg_match基础知识。但这对我来说太难了。例如echoextract('AmericanH