草庐IT

HAL_TIM_Base_Start_IT

全部标签

PHP preg_replace : How can I match something but not replace it?

例如,如果我想preg_replace一个HTML元素的标题:$str=preg_replace('/title=\"([^\"]+)\"/','foo',$str);请不要为这个特定示例提供其他解决方案(非正则表达式),这只是一个示例。我需要一个适用于任何正则表达式的解决方案。 最佳答案 如果你想用preg_replace匹配部分,但只是部分替换其他东西,那么有两种选择。您可以重新插入匹配的部分(包含在捕获组中,然后使用$1和$3):$str=preg_replace('/(title=")([^"]+)(")/','$1foo$

php - session_start() 在发送输出后工作

我刚刚注意到一些奇怪的事情。我认为,正如PHP手册所说,必须在将任何输出发送到浏览器之前调用session_start():Tousecookie-basedsessions,session_start()mustbecalledbeforeoutputinganythingtothebrowser.因此,出于好奇,我创建了两个脚本。一个是write.php:另一个是read.php:令人惊讶的是,即使在echoingfoo之后,session也会被写入和读取。但是,如果我在echo之后添加对flush()的调用,Apache的错误日志报告:[TueJan0311:57:212012]

php - 从命令行执行脚本时,即使使用 ob_start() 也会将输出打印到终端

我写了一个小的命令行脚本来处理文档[一个带有lilypond乐谱插入的markdown文件,只是为了完整起见]。#!/usr/bin/envphptemplate.php...当我打电话时:$./phlilysource.md文件正确生成,但模板内容也打印到控制台:GNULilyPond2.14.2Processing`/Users/.../phlily/ly/4add05a74d249f34b3875ef6c3c1d79763927960.ly'Parsing...ConvertingtoPNG......这很烦人,因为我想从LilyPond脚本中读取错误和警告,因为它们被埋在终端的

php - 在不保存图像的情况下旋转 Base64 图像字符串

我收到来自FedexShippingAPI的响应,其中包含PNGbase64图像,但图像是垂直显示的。我想将此图像旋转90度而不将其保存到磁盘,并在浏览器中显示它以供进一步打印。我尝试先解码字符串然后使用旋转它$rotate_image=imagerotate($image,90,0);echo"";但是我运气不好!!示例图像字符串$image="iVBORw0KGgoAAAANSUhEUgAAAyAAAASwAQAAAAAryhMIAAAml0lEQVR42u3d328jyZ0Y8Gr3Qb0HbKZ9yEMoQGDZ2ADzOmsBFw3CY/lg4PJ2+54XSxhHfNVCC

php - ob_start echo 的字符串仍然输出

我希望ob_start()不让echo的输出到它们的正常目的地,而是只记录它们的内容。但它似乎并没有这样做。有任何想法吗?这是我的代码:测试仍然被回显。它也是var_dump'd,但我不希望它被回显。有什么想法吗?谢谢! 最佳答案 输出缓冲区会在脚本结束时自动刷新,因此这是预期的行为。您正在寻找ob_get_clean(),在清除之前返回当前缓冲区:$out=ob_get_clean(); 关于php-ob_startecho的字符串仍然输出,我们在StackOverflow上找到一个类

"start of string or pattern"的 PHP 正则表达式

这个问题在这里已经有了答案:Regexlookahead,lookbehindandatomicgroups(5个答案)关闭9年前。有没有办法(除了进行两个单独的模式匹配)在PHP中使用preg_match来测试字符串或模式的开头?更具体地说,我经常发现自己想要测试我是否有一个匹配模式,它前面没有任何内容,如preg_match('/[^x]y/',$test)(也就是说,如果y前面没有x,则匹配它),但如果它出现在$test的开头,则也匹配y(当它前面也没有x,但前面没有任何字符,因此[^x]构造将不起作用,因为它始终需要一个字符来匹配它。在字符串末尾也有类似的问题,以确定是否出现了

php - 发生错误时 ob_start 被中断

所以ob_start()应该捕获输出,直到另一个缓冲区函数被调用,如ob_get_clean(),ob_get_contents(),ob_get_flush()。但是当缓冲区读取器中抛出异常时,它将通过停止读取器并回显输出而不是继续捕获它来影响读取器。这就是我要防止的。假设这是我的脚本:Someerroroccured:".$e->getMessage();//print_r($e);}?>此脚本将输出:Idon'twannaoutputthiswhatsoever,sowanttocacheitinavariablewithusingob_functionsSomeerrorocc

php - Symfony 2 服务器部署 fatal error : It tries to open localhost file

我制作了一个symfony2应用程序,并尝试将其部署到共享服务器上,但出现fatalerror。我在这里采取了推荐的步骤:Deployment-Tools我已经更新了供应商依赖项:phpcomposer.pharinstall--optimize-autoloader我已经清除了缓存:phpapp/consolecache:clear--env=prod--no-debug我已经更改了服务器上app/cache和app/logs的权限但它不起作用。这是错误:Fatalerror:Uncaughtexception'UnexpectedValueException'withmessage

PHP GD : The image cannot be displayed because it contains errors

我尝试通过PHPGD创建验证码。但不幸的是我遇到了一个问题!PHP告诉我:Theimage“http://127.0.0.1/par.php”cannotbedisplayedbecauseitcontainserrors.我的代码是这样的 最佳答案 $im=@imagecreatetruecolor(120,20)ordie('CannotInitializenewGDimagestream');你首先隐藏真正的错误并尝试显示一些东西......因为你不去寻找它而无法显示,并公开图像,无论它是否真的生成。然后你继续使用stacko

php - 在 Yii 2 中自定义 urlManager 组件时出现错误无效调用 - yii\base\InvalidCallException

我已经设置了Yii2基本应用程序,在config/web.php下我使用:urlManager'=>['class'=>'yii\web\UrlManager','enablePrettyUrl'=>true,'showScriptName'=>false,]在组件下。但是当我尝试运行我的应用程序时,出现以下错误:InvalidCall–yii\base\InvalidCallExceptionSettingread-onlyproperty:yii\web\Application::urlManager>相同的urlManager代码在高级应用程序中运行良好。有什么想法吗?