草庐IT

match_content

全部标签

php - preg_match 在第一个选择器中选择匹配项

我要测试这个字符串,但无法让它按我想要的方式工作:我希望我的脚本返回fatal而不是500,因为它是我的第一个选择器。可能吗?提前致谢,抱歉我的英语不好。附言:也许我的标题不是很清楚,但我不知道如何更好地解释它。如果找到它,请更改它。 最佳答案 如果你只想用一个正则表达式来做,你可以这样做:$selectors=array('fatal','500');//Arrayofselectors(inpriorityorder)$delimiter='/';$regex=$delimiter.'('.implode('|',array_m

file-get-contents - PHP 将大的二进制文件转换为可读文件

我在使用这个简单的脚本时遇到问题...它总是给我这个错误:file_get_contents():lengthmustbegreaterthanorequaltozero我真的很累,有人能帮帮我吗?编辑:将文件分成32个部分后...错误是PHPFatalerror:Allowedmemorysizeof1585446912bytesexhausted(triedtoallocate2147483648bytes)Fatalerror:Allowedmemorysizeof1585446912bytesexhausted(triedtoallocate2147483648bytes)编辑

php - 正则表达式 : match a word of certain length which starts with certain letters

我需要一个匹配7字母单词的正则表达式,该单词以'st'开头。例如,它应该只匹配以下内容中的'startin':startstartinstarting 最佳答案 一般提示:起始符号直接包含在正则表达式中,例如ST。如果起始字符在正则表达式语法的意义上是特殊的(如点、括号等),则需要使用反斜杠对它们进行转义,但在您的情况下不需要。在起始符号之后,为“单词”的剩余字符添加字符类。如果要允许所有字符,请使用点:.。如果要允许所有非空白字符,请使用\S。如果您只想允许(unicode)字母,请使用\p{L}。要仅允许非重音拉丁字母,请使用[

php - preg_match_all能匹配获取的最大字符串长度?

我正在尝试使用preg_match_all()解析一些网页,其中一些网页非常大,有几MB。并且其中一个正则表达式匹配了一些文本字符串,这些字符串非常大,以至于它们似乎无法匹配并获取它们。它只是返回一个空字符串。当我手动选择它并将其保存为.txt文件时,其中一个字符串是1.32MB或1,393,557字节。当字符串短得多,只有几万字节时,正则表达式成功匹配并获取它。所以我的问题是,我发现preg_match_all()可以匹配的字符串有一个限制/最大长度,它是什么以及如何将它设置得更大? 最佳答案 将ini_set('pcre.bac

PHP 强制下载 PDF 文件,即使我使用的是 Content-Disposition : inline

如果可能的话,我正在尝试在浏览器中显示PDF——我知道我可以在Chrome中执行此操作,这正是我正在测试的。问题是,每次我尝试时,它都会提示下载相反。我正在使用PHPsession,所以我知道发送了一些无关的header,所以我调用了header_remove()来重置所有内容。我调用这个函数来显示PDF:id.'.pdf';//ThelocationofthePDFif(!file_exists($file)){die('ThePDFdoesnotexist.');//Somehowthefiledoesnotexist.}header_remove();//I'musingPHPs

php - Sugarcrm CE fatal error : sugar_file_put_contents_atomic() in wamp

我在Windows7机器上的wamp下运行SugarcrmCE,我不断收到以下错误。它只是随机发生,如果我重新加载页面它似乎工作。但是这个错误很烦人,我从来没有在这个开发环境下得到它。我知道如果这是linux,那将是一个权限问题,但权限在我看来在Windows中看起来很好。我打开了开发者模式并删除了缓存文件夹,但它仍然发生。有人知道如何防止这种情况吗?Fatalerror:sugar_file_put_contents_atomic():fatalrenamefailure'E:\wamp\www\sugargantt-project\cache\modules\Employees\t

php - 为什么 ob_get_contents 不起作用

我有这个代码:hi但是没有任何输出。如果我删除ob_end_clean();,输出为hihi。如果在应用结束时未调用ob_flush(),内容将再次自动刷新。我需要使用ob_get_contents()因为我要实现一个简单的缓存机制,将输出保存到一个文件中。请帮忙。谢谢! 最佳答案 更新:我很惊讶,但您的示例确实适用于输出缓冲。我不认为PHP标签之间的HTML会起作用,但它确实起作用。HelloWorld这会输出output:HelloWorldGoodbye。问题是您将ob_get_contents回显到缓冲区中。由于您在评论中的

php - 破折号和下划线的 preg_match 的奇怪行为

我有以下两个表达式。两者几乎相同,首先我检查以3个破折号结尾的字符串,然后检查以3个下划线结尾的字符串$str="this-is_normal-test---";$str=preg_match("/[a-zA-z0-9]+(-+)$/",$str,$matches);print_r($matches);$str="this-is_normal-test___";$str=preg_match("/[a-zA-z0-9]+(_+)$/",$str,$matches);print_r($matches);这是输出:Array([0]=>test---[1]=>---)Array([0]=>

php - 使用 preg_match 检查字母数字点破折号和下划线的正则表达式是什么?

我正在检查用户输入的用户名我正在尝试使用preg_match()在PHP中验证用户名,但我似乎无法让它按照我想要的方式工作。我需要preg_match()来:只接受字母、数字和。-_即只有字母数字点破折号和下划线,我尝试了htaccess中的正则表达式,就像这样([A-Za-z0-9.-_]+)就像这样,但它似乎不起作用,它为简单的alpha用户名提供false。$text='username';if(preg_match('/^[A-Za-z0-9.-_]$/',$text)){echo'true';}else{echo'false';}我怎样才能让它发挥作用?我打算像这样在函数中使

php - 无法使用 file_get_contents(),不返回任何内容

我正在尝试使用此代码从不属于我的网站获取一些数据。但是,没有任何回显,字符串长度为0。我以前用过这个方法,没问题,但是用这个网站,根本就不行。谢谢! 最佳答案 我设法像这样使用curl获取内容:$ch=curl_init();curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_URL,"https://ninjacourses.com/explore/4/");$result=curl_exec($ch);curl_close($ch);