草庐IT

all_codes

全部标签

php - preg_match_all( ) 在不同的服务器上表现不同

下面的代码在我的PC上的XAMPP上运行完美,但在我新买的VPS上不起作用。它使我的代码崩溃。preg_match_all("/$regex/siU",$string,$matches,PREG_SET_ORDER);这应该只是从HTML中获取链接和标题。以前,今天也出现过类似的正则表达式问题。代码在本地服务器上运行良好,但在vps上创建“连接已重置”错误。该问题是由一些注释的html(其中包含php代码)引起的,使用以下代码将其删除以优化输出,但即使连接重置的问题已解决,HTML在浏览器源代码中仍然有注释。$string=preg_replace('//','',$string);那

PHP 面向对象 : Get all declared classes which are have extended another parent class

我需要获取所有扩展了另一个父类的声明类。例如……classParentClass{}classChildOneextendsParentClass{}classChildTwoextendsParentClass{}classChildThree{}我需要一个输出这个的数组:array('ChildOne','ChildTwo')我是PHPOOP的新手,但基于一些谷歌搜索,我想到了这个解决方案。$classes=array();foreach(get_declared_classes()as$class){if(is_subclass_of($class,'ParentClass'))

php - 试图避免 "spaghetti code",为什么多个 if-else 不好?

我刚刚在读top100signsofspaghetticode我遇到了数字4,它简单地说明:if($status=="awake"){$actitivity="Writingspaghetticode";}elseif($healthstatus=="OK"){$activity="Sleep";}else{print"CALL911IMMEDIATELY!";}我在otherspaghettidiscussions中看到过这种多重if-else模式.我有点困惑为什么会这样,即使它适用于这个例子。上面的例子不好是因为第一个变量是activity,它表示编码器需要一些sleep,所以这是

用于分割字符串的 PHP preg_match_all 正则表达式

任何人都可以帮助完成我的正则表达式吗?我的字符串格式如下:{p:19}Ja?DumöchtestzurKönigin?{p:20}Hmm...DubistgekommenumdenTitelKriegerinzuerhalten?Verstehe.DasistganzschöntapferfürsoeinejungeDame.DieKöniginwirdsicherauchsehrüberraschtsein.{t:19}Bittesehr,gehdirekthinein.{t:20}TreibeDichhiernichtherum,wennDuhiernichtszusuchenha

php - Symfony2 表格 : How to display all the errors?

我想一起打印所有验证错误,而不是每个字段旁边的每个错误。但是form_errors(form)不工作。我可以打印单个错误,所以我想我可以为每个字段使用form_errors(form.some_field)。问题是它会打印类似“此字段不能为空”的错误,除非紧挨着该字段,否则这是没有意义的。有什么想法吗? 最佳答案 您应该查看error_bubbling字段属性。如果将该属性设置为true,则该字段的任何错误都将传递给父字段或表单。例如,如果在普通字段上设置为true,则该字段的任何错误都将附加到主表单,而不是特定字段。

php - 使用 php preg_match_all 和 cURL 从多个页面抓取/下载图像

所以我想从另一个网站抓取一些图片,问题是每张图片都在不同的页面上IE:id/1,id/2,id/3等等到目前为止,我有下面的代码可以从给定的单个URL中获取图像:$returned_content=get_data('http://somedomain.com/id/1/');但需要将上面的行变成一个数组(我猜),这样它会从第1页抓取图像,然后继续抓取第2页上的下一张图像,然后自动抓取第3页等functionget_data($url){$ch=curl_init();$timeout=5;curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($c

php - 当代码完全不同时,为什么 Scrutinizer 会说 "duplicate code"?

当这两种方法完全不同时,为什么Scrutinizer会说“重复代码”?这是误报还是Scrutinizer确实想以更抽象的方式来看待它? 最佳答案 我的猜测是他们做了所谓的“规范化”,即文本被分成更小的部分(称为标记),然后其中一些标记被不同的文本替换,使它们完全相同。例如,所有数字和字符串都归一化为相同的数字/字符串。这确保您可以找到仅在文字上不同的克隆,这很有用,因为这通常意味着您可以提取一个实用方法,将这些不同的文字作为参数,从而减少代码中的冗余。因此对于克隆检测器,您的代码将看起来像这样(所有大写文本都已标准化):public

php - 如何修复 Visual Studio Code 中的以下 phpcs 错误?

我是VS代码的新手。我正在尝试使用PHP,但我不断收到此通知。phpcs:Requestworkspace/configurationfailedwithmessage:unabletolocatephpcs.pleaseaddphpcstoyourglobalpathorusecomposerdependencymanagertoinstallitinyourprojectlocally.Intellisense也不适用于PHP。我使用的是Windows系统。我尝试下载并安装Composer,但问题仍然如屏幕截图所示。]1我安装了一些扩展,在屏幕截图中可以看到,但问题仍然存在。

php - 为什么 Code Igniter 无法检测到我的表单是通过 POST 提交的?

我的jQueryMobile应用程序的CodeIgniterView中有一个表单。settings"method="post"id="settingsForm">FirstNameLastName但是,当我将这段代码写入到action指定的URL导致的Controller方法中时:echo($_SERVER['REQUEST_METHOD']=='POST')?"yay":"nay";当我点击提交按钮时,“nay”被写入页面。为什么CodeIgniter无法判断我正在提交帖子请求? 最佳答案 如果您想确定您是否有POST数据或请求是

PHP 代码点火器 : Is there an elegant way to to get the SMTP return code upon a mail failure

当使用标准的Codeigniter时mail->send()它只返回TRUE或FALSE。但是,我需要以不同方式处理某些SMTP返回代码。我可以解析出调试文本信息,或者以某种方式尝试覆盖Codeigniter的邮件处理程序。有什么直接而优雅的方法可以做到这一点吗?提前致谢。 最佳答案 我认为在CodeIgniter中没有针对此的内置机制。您可以做的是扩展CI电子邮件类并添加一个函数来公开protected_debug_msg数组。如果您查看电子邮件类的源代码,您会看到print_debugger()函数正在将_debug_msg数组