草庐IT

PREG_REPLACE_EVAL

全部标签

php - 将 ereg_replace 转换为 preg_replace

我必须将ereg_replace转换为preg_replaceereg_replace代码为:ereg_replace('\$([0-9])','$\1',$value);由于preg由开始和结束反斜杠表示,我假设转换是:preg_replace('\\$([0-9])\','$\1',$value);由于我不太了解正则表达式,所以我不确定上面的方法是否正确? 最佳答案 ereg_replace()之间的差异之一和preg_replace()是模式必须用定界符括起来:delimiter+pattern+delimit

php - 正则表达式 (preg_split) : how do I split based on a delimiter, 不包括一对引号中的定界符?

我拆分了这个:1234/5/6"7/89"10进入这个:123456"7/89"10使用preg_split()所以我的问题是,如何根据定界符进行拆分,排除一对引号内的定界符?我有点想避免首先捕获引号中的内容,并且理想情况下希望它是一个衬垫。 最佳答案 您可以使用以下内容。$text='1234/5/6"7/89"10';$results=preg_split('~"[^"]*"(*SKIP)(*F)|[/]+~',$text);print_r($results);解释:在交替运算符的左侧,我们匹配引号中的任何内容,使子模式失败,强

php - 使用 preg_replace 缩小 CSS

我正在尝试使用preg_replace缩小多个CSS文件。实际上,我只是想从文件中删除任何换行符/制表符和注释。以下对我有用:$regex=array('{\t|\r|\n}','{(/\*(.*?)\*/)}');echopreg_replace($regex,'',file_get_contents($file));但我想在单个多行正则表达式中执行此操作,如下所示:$regex=但是,这根本没有做任何事情。有什么办法吗?编辑:好的,所以我将看看现有的缩小器,但它仍然留给我一个问题,我将如何做这样的多行正则表达式,因为使用x-modifiermultiline即使在PHP中,正则表达

php - preg_replace 所有 <img> 参数

我已将WYSIWYG编辑器从旧版本升级到最新版本。图像尺寸的保存方式有所不同。旧版本的编辑器用于为图像标签添加宽度和高度参数。新编辑器创建样式参数并将宽度和高度添加为样式。我有一个preg_replace函数,我可以使用它来包装在周围标记.当前的preg_replace不再起作用,因为新编辑器将宽度和高度保存在样式参数中。预替换:$Content=preg_replace('#]*?)>((?!))#','',$Content);如果知道的话,新编辑器会像这样存储图像:而旧的编辑器是这样存储图像的:如何重构我的preg_replace以复制完整的样式元素?向后兼容也很酷。感谢您的宝贵时

PHP: preg_match 长度限制

我使用preg_match('/[a-z]+[0-9]/',strtolower($_POST['value']))检查字符串是否同时包含字母和数字。我怎样才能改变它只允许5~15个字符?/[a-z]+[0-9]{5,15}/不起作用。更新现在我尝试了:if(preg_match('/^[a-z0-9]{5,15}$/',strtolower($_POST['value']))){echo'Valid!';}else{echo'NOOOOO!!!';}如果我在输入字段中键入“dfgdfgdfg”,它会显示“有效!”。该值必须同时包含字母和数字,并且介于5-15个字符之间。

php - preg_replace 掉 CSS 注释?

我正在编写一个快速的preg_replace来从CSS中删除注释。CSS注释通常有这样的语法:/*DevelopmentClasses*//*Un-commentmeforeasytesting(willmakeitsimplertoseeerrors)*/所以我试图杀死/*和*/之间的所有内容,如下所示:$pattern="#/\*[^(\*/)]*\*/#";$replace="";$v=preg_replace($pattern,$replace,$v);没有骰子!它似乎在正斜杠上窒息,因为如果我从模式中取出/s,我可以让它删除注释文本。我尝试了一些更简单的模式,看看我是否可以去

php - preg_replace : unknown modifier

这个问题在这里已经有了答案:Warning:preg_replace():Unknownmodifier(3个答案)关闭3年前。假设$body等于somethingthatdoesnotinterestmesomehtmlcodesomethingthatdoesnotinterestme如果我用$body=preg_replace("(.*)(.*)(.*)","$2",$body);我得到:Warning:preg_replace()[function.preg-replace]:Unknownmodifier'我该如何纠正?

php - preg_match() : No ending delimiter '^' found

这个问题在这里已经有了答案:PHPregularexpressions:Noendingdelimiter'^'foundin(2个答案)关闭9年前。警告:preg_match():在第29行的.../functions/validations.php中找不到结束分隔符“^”代码:if(preg_match($mail_pat,$email,$components)){我应该在什么地方进行编辑?

PHP Preg-替换多于一个下划线

如何使用preg_replace将多个下划线替换为一个下划线? 最佳答案 +operator(quantifier)匹配最后一个字符的多个实例(、字符类或捕获组或反向引用)。$string=preg_replace('/_+/','_',$string);这会将一个或多个下划线替换为单个下划线。技术上更正确的问题标题是只替换两个或更多:$string=preg_replace('/__+/','_',$string);或者用大括号写量词:$string=preg_replace('/_{2,}/','_',$string);也许然后

php - Symfony 表格 : How to replace form class/retrieve all extra data?

Symfony2表单组件真的很棒。我猜你知道。试图了解什么是有效的,这似乎是一项不可能完成的任务;而且我在浏览代码库方面很有经验..但是,伙计,表单组件..我的天啊长话短说详情如下,本期试问是否可以替换\Symfony\Component\Form\Form类?或者:如何轻松地从表单的类型表单的所有字段中获取所有额外数据?或者,一个相关的问题:如果我执行$form->add('ss','form')它究竟是如何工作的-显然是Core\FormType类参与了,但是当我稍后检索它时,它是\Symfony\Component\Form\Form的一个实例?这种情况发生在哪里?是否可以覆盖它