草庐IT

grunt-string-replace

全部标签

php - preg_replace() str_replace() 撇号噩梦! - Drupal 菜单图像替换

谁能帮我解释为什么这不起作用?$cssid=preg_replace("/'/","",$cssid);试图从某些html中删除单引号...谢谢!H编辑这是完整的功能-它旨在使用图像重建Drupal菜单,并将CSS类应用于每个项目,允许您选择所需的图像。需要删除空格和撇号,否则CSS选择器会失败。导致所有这些问题的菜单项的标题是:What'snew你会认为它非常无害。(除了那个单一的')functionprimary_links_add_icons(){$links=menu_primary_links();$level_tmp=explode('-',key($links));$le

PHP preg_replace 反向引用导致未定义常量通知

我正在尝试在code.google.com上使用NameCase一个php类.当我运行它时,我收到此通知,但我不明白为什么。PHPNotice:UseofundefinedconstantMc-assumed'Mc'innamecase.php(54):regexpcodeonline153if(preg_match('/\bMac[A-Za-z]{2,}[^aciozj]\b/',$str)||preg_match('/\bMc/',$str)){54$str=preg_replace("/\b(Ma?c)([A-Za-z]+)/e","$1.ucfirst('\\2')",$str

php - USAePay源码中ereg_replace转preg_replace

我正在使用USAePay的[可怕的]PHP库连接到他们的网关,但我收到以下错误:Deprecated:Functionereg_replace()isdeprecatedin.../usaepay.phponline320这对应于以下行:$this->amount=ereg_replace("[^[:digit:].]","",$this->amount);所以,我想用preg_replace将其关闭。这是我的想法:$this->amount=ereg_replace("/[^[\d].]/","",$this->amount);这是否等同于上面的那个? 最

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 - REGEX 获取注释标签之间的字符串 (/* string */)

我需要获取/**/注释标记之间的字符串。我正在尝试解析一个文件,并只获取其中注释标签之间的字符串。我是使用正则表达式的新手。所以任何建议将不胜感激。我已经尝试了一些,但都没有用。示例字符串将是。是的,在/*之后和*/之前有一个换行符/*CommentHereCommentHere*/ 最佳答案 你没有说你使用的是什么语言,但是这个正则表达式将适用于java(不需要转义/):(?s)/\*(.*?)\*/第1组(即\1)有您要查找的内容 关于php-REGEX获取注释标签之间的字符串(/*

php - preg_replace,正则表达式获取文本部分

我有以下问题:我有一个文本,例如以下格式:min:34.0max:79.0383lifetime:17%code:iweo7373333不是固定的textType,意思是min也可以是-7.94884444左右。我怎样才能提取零件,例如像这样的数组$result['min']=34.0;$result['max']=79.0383andsoon...我现在通过替换空格来做到这一点,然后将“min:”替换为空,“max:”、“lifetime:”……替换为“,”,然后爆炸……主要问题是有时其他变量介于最小值、最大值、...之间,因此位置不保持正确的值。另外-我认为-这不是一个很好的编码风

php - preg_replace 用于以冒号结尾的单词

我试过研究preg_replace,只是我对正则表达式没有太多经验。我想做的是替换一部分以冒号结尾的文本,并将其设为粗体,并在前面放一个换行符,在后面放两个换行符。IE转换此文本title1:issometexthere.title2:anotherpieceoftext.到**title1:**issometexthere.**title2:**anotherpieceoftext我试过做这样的事情......preg_replace("!\*(.*?)\*!$:","\\!\*(.*?)\*!\\",$text);我似乎无法让它工作。有人能帮忙吗?谢谢安迪

php - preg_replace 双重替换

我从正则表达式中得到了一些意想不到的结果,这意味着要替换命名空间上的类名。替换似乎发生了两次,因此被替换的类名是重复的(请参见下面的示例)。我实际上已经通过更改正则表达式以匹配1个或多个(+)而不是0个或多个(*)来解决问题,这实际上更准确为了我想要的。但是,我对为什么一开始会遇到问题感到有点困惑。这是问题的一个例子:$classns='components\groups\GroupsController';$newclass='GroupsAccess';$classns=preg_replace('/[^\\\\]*$/',$newclass,$classns);echo$clas

php - 使用 preg_replace 将字符串转换为 <img> 标签

这些正则表达式快要死了,无论我读什么我都无法理解这个概念。这是我的问题,我相信它非常容易解决。[img:http://example.com/_data/025_img.jpg]我想要的只是用更改[img:...]的位标记并得到如下结果我尝试了各种愚蠢的变体,但都没有用。不过,我对此并不感到惊讶。编辑附加信息:我的情况如下。用户将图片上传到他们的个人资料图像名称存储在数据库中。它们列在带有文本区域的表单旁边在键入文本时,我想通过添加以下标签[img:...]向用户提供他们的一张或多张图片,其中...是点击图片时将被复制的链接从用户图库中列出。我正在使用Codeigniter并将文本区域

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

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