草庐IT

If-None-Match

全部标签

php - preg_match 获取文本

我有test.php和test1.php我有这个PHP代码正在运行我想做的是从test.php中获取文本从这个fid='gty5etrf'JavaScript我只需要fid的内容fid='gty5etrf';v_width=620;v_height=490;在test1.php中我只需要显示内容gty5etrf我必须做什么? 最佳答案 preg_match_all('/fid=\'([^\']+)\'/',$Text,$Match);你的正则表达式是错误的。首先,您正在寻找fid="..."而不是fid='...'。其次,使用.*,

php - Else If block 和大括号

知道在PHP中我们可以忽略条件block中的花括号,在“if”、“elseif”或“else”标记之后只有一个函数/行,如下所示:if(myVal=="1")doThis();elseif(myVal=="2")doThat();elsedoNothing();我问自己是否有这样的事情:if(myVal=="1")doThis();elseif(myVal2==true)doThat();elsedoNothing();被PHP视为:if(myVal=="1"){doThis();}else{if(myVal2==true){doThat();}else{doNothing();}}或

php - 我应该使用正则表达式,还是只使用一系列 if 语句?

我需要根据这些规则验证字符串:值不是s值的长度至少为1个字符值仅包含a-z0-9-_/值不以/开头值不以/结尾值不包含/s/值不包含//值不以s/开头值不以/s结尾(更简单地说,我正在寻找类似于UNIX风格的路径,带有斜杠分隔符,其中文件/文件夹名称只允许a-z0-9-_,没有文件/文件夹名为s,它没有开头或结尾的斜杠。)我需要在客户端通过JavaScript执行此操作,在服务器端使用PHP执行此操作。我知道最优雅的解决方案是通过复杂的正则表达式。但是尝试写一个值得挑战吗?还是我应该只使用条件?现在,我的解决方案是:http://jsfiddle.net/cKfnW/JavaScrip

php - JMSSerializer 预期输入结束,但得到类型为 T_NONE 的 "/"

我正在使用JMS序列化和反序列化我的实体我有一个批处理过程来生成一个json文件,其他人读取该文件我的实体有一个DateTime字段,如下所示/***@var\DateTime**@ORM\Column(name="inscription_date",type="datetime",nullable=false)*@JMS\Type("DateTime")*/private$inscriptionDate;当实体被序列化时结果是"inscription_date":"30\/05\/2007"但问题是当我要反序列化时我得到了[JMS\Parser\SyntaxErrorExceptio

php - 了解 preg_match 公式

我无论如何都让我的东西与以下行一起工作,但我真的无法理解。if(preg_match_all('/[^=]*=([^;@]*)/',shell_exec("/home/technoworld/Desktop/test/b'$test'"),$matches)){$x=(int)$matches[1][0];//optionallycasttoint$y=(int)$matches[1][1];$pcount=round((100*$x)/($x+$y),2);$ncount=round((100*$y)/($x+$y),2);}b是可执行文件,它给出的结果类似于x=10和y=20谁能给

php - preg_match 如何处理使用\Q..\E 时的定界符?

我在玩正则表达式,我尝试了\Q..\E转义序列。第一次尝试:$regex='/\Qhttp://\E/';var_dump(preg_match($regex,'http://'));它告诉我'\'是未知修饰符,完全可以理解。第二次尝试:$regex='/\Qhttp:\/\/\E/';var_dump(preg_match($regex,'http://'));var_dump(preg_match($regex,'http:\/\/'));它运行,不匹配第一个字符串,但匹配第二个。我知道我可以使用其他分隔符或不使用\Q..\E来解决它,但我很好奇它是如何工作的。我首先通过它通过分隔

php - preg_match 转储空数组

鉴于我有urlhttps://website.com/test/demo/success.php?token=-abc123-我想获取值abc123。不知何故,我在preg_match上得到了两个空字符串。$url='https://website.com/test/demo/success.php?token=-abc123-';preg_match('-(.*?)-',$url,$match);var_dump($match);输出:array(2){[0]=>string(0)""[1]=>string(0)""}我在这里做错了什么? 最佳答案

php - preg_match_all - 在字符串中查找完整 url 的正则表达式

我花了4个多小时试图找到我的php代码的正则表达式模式,但运气不佳。我有一个带有html代码的字符串。它有很多url格式,例如:example.comhttp://example.comhttp://www.example.comhttp://example.com/some.phphttp://example.com/some.php?var1=1http://example.com/some.php?var1=1&var2=2etc.我有以下部分工作的php代码:preg_match_all('/\b(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)[

php - IF 语句简化

如何实现对一个值的多重检查?我觉得我有点傻...我想实现的是:if(basename($_SERVER['SCRIPT_NAME'])!=("1.php"||"2.php"||"3.php"){header('Location:elsewhere.php');}而不是:if(basename($_SERVER['SCRIPT_NAME'])!="1.php"&&basename($_SERVER['SCRIPT_NAME'])!="2.php"&&basename($_SERVER['SCRIPT_NAME'])!="3.php"&&basename($_SERVER['SCRIPT_

php - preg_match中的 `e`修饰符是什么意思?

我正在检查PHP代码是否存在可疑代码。我找到了preg_match('/^'.preg_quote($var1,'/').'/ie',$var2)但php不会发出任何警告,例如The/emodifierisdeprecated,usepreg_replace_callbackinsteadin或Unknownmodifier'e'in。测试:http://3v4l.org/6i8lne(PREG_REPLACE_EVAL)修饰符对preg_match有特殊意义还是被忽略? 最佳答案 嗯,在preg_match()中,修饰符e不会做任