草庐IT

PREG_REPLACE_EVAL

全部标签

php - 带有 preg_match 的有效电子邮件

这个问题在这里已经有了答案:HowtovalidateanEmailinPHP?(7个答案)关闭8年前。我在使用preg_match()验证电子邮件地址时遇到问题。这是我的代码块。if(VerifierAdresseMail($email))echo'valide.';elseecho'notvalid';functionVerifierAdresseMail($adresse){$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';if(preg_match($Syntaxe,$adresse))returntrue;elsereturnfals

php - 在多维数组上使用 preg_match 返回键值数组

我有一个结构如下的数组:$data=array("abc"=>array("label"=>"abc","value"=>"def","type"=>"ghi","desc"=>"jkl",),"def"=>array("label"=>"mno","value"=>"qrs","type"=>"tuv","desc"=>"wxyz",),);我想使用带有foreach循环的preg_match来对$data中包含的数组执行搜索并返回键值对的嵌套数组。 最佳答案 对于谷歌员工来说,这里有更好的代码$data=$pattern="/w

括号之间的php preg_match

我想使用preg_match来查找括号之间的文本,例如:$varx="(xx)";最终输出将是$match='xx';另一个例子$varx="blabla(yy)blabla";最终输出将是这样的$match='yy';换句话说,它去掉了括号。我仍然对正则表达式感到困惑,但发现有时预匹配是更简单的解决方案。搜索其他示例但不符合我的需要。 最佳答案 尝试这样的事情:preg_match('/(?现在它将捕获换行符。 关于括号之间的phppreg_match,我们在StackOverflow

php - 在没有 Eval 的情况下在字符串中执行 PHP 代码

目前正在开发一个“简单”的模板类,问题是如何在不使用eval的情况下在字符串中执行PHP代码?以下示例是我的模板类的工作方式:$user='Dave';ob_start();include'index.tpl';$content=ob_get_clean();//String$pattern=sprintf('/%s\s*(.+?)\s*%s/s','{{','}}');//replacewithphptags$new_content=preg_replace($pattern,'',$content);echo$new_content;索引.tplHello{{$user}}!我得到

php - 使用数组时 str_replace 更快吗?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我的问题是在str_replace上使用数组是否比多次执行它更快。我的问题只针对两个替换。用数组$phrase="Youshouldeatfruits,vegetables,andfibereveryday.";$healthy=array("fruits","vegetables");$yummy=array("pizza","beer");$newp

php - WordPress 中使用 eval() 插件的漏洞示例

我继承了一个WordPress网站,该网站使用RunPHP插件在帖子之间执行PHP代码片段。我觉得这不是实现此类功能的最佳方式。但由于这是在很长一段时间内功能正确的遗留代码,我需要一些问题场景的可靠示例。对于那些不熟悉RunPHP的人来说,它是一个使用eval()执行嵌入在Post或Pagebody中的PHP代码的插件。代码块永远不会从用户那里收到,而是由网站所有者/内容创建者输入数据库。此插件在我们上下文中的用例如下。表单创建为Post,其提交操作设置为Page(我们称之为表单处理程序)。表单处理程序在其主体中包含PHP代码,并且为该页面激活了RunPHP插件。当提交表单时,表单处理

php - 关键字 highlight 是在 PHP preg_replace() 中高亮显示高亮

我有一个小型搜索引擎在做它的事情,并且想要突出显示结果。我以为我已经解决了所有问题,直到我今天使用的一组关键字把它从水中吹了出来。问题是preg_replace()循环遍历替换,后来的替换替换了我插入到之前的文本中的文本。使困惑?这是我的伪函数:publicfunctionhighlightKeywords($data,$keywords=array()){$find=array();$replace=array();$begin="";$end="";foreach($keywordsas$kw){$find[]='/'.str_replace("/","\/",$kw).'/iu'

php - 了解 str_replace 和 strtr 在 php 中的工作原理

$search=array('A','B','C','D','E');$replace=array('B','C','D','E','F');$subject='A';$trans=array('A'=>'B','B'=>'C','C'=>'D','D'=>'E','E'=>'F');echostr_replace($search,$replace,$subject);echo"";echostrtr($subject,$trans);Output:FB当使用str_replace我得到F,使用strtr我得到B据我所知,对于str_replace:它从左到右替换,因此A被B替换而不标

php - 在 html 代码上运行 preg_replace 花费的时间太长

冒着被重定向到thisanswer的风险(是的,我读了它并花了最后5分钟大笑),请允许我解释这个问题,这只是众多问题中的一个。我的雇主要求我审查一个用PHP编写的网站,使用Smarty作为模板,使用MySQL作为DBMS。它目前运行非常缓慢,最多需要2分钟(整个过程都是全白的屏幕,不少于此)才能完全加载。使用xdebug分析代码,我发现一个preg_replace调用大约需要30秒才能完成,它目前遍历所有HTML代码并将找到的每个URL替换为其SEO友好版本。一旦完成,它会将所有代码输出到浏览器。(正如我之前所说,这不是唯一的问题-代码相当陈旧,而且它显示-但我将重点关注这个问题。)进

php - Symfony2 Doctrine2,是否有 'REPLACE INTO' 函数?

我做了一些研究,显然Doctrine不支持REPLACEINTO所以我想知道是否有等效项?如果主键不存在,Doctrine有没有办法只执行INSERTINTO?类似于:$em=$this->getDoctrine()->getManager();$em->replace($entity);$em->flush();还是必须写成条件?如果实体存在,则更新,否则插入? 最佳答案 如果主键不存在你可以做FindOneBy$entity=$entity->getRepository('Entiy\YOurEntiry')->findOneB