jjzjj

replacement

全部标签

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 - 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并将文本区域

php - pre_replace 一个字符串以将下划线后面的每个单词大写

这是一个示例字符串:hello_world_again所以它会被转换成:HelloWorldAgain所以它应该能够删除下划线并将下一个字母大写。第一个字母也应该大写。我发现了这个:preg_replace('/(?但现在我想把这个过程倒过来。非常感谢您的帮助!谢谢! 最佳答案 单独使用正则表达式在这里是行不通的。但是,您可以使用preg_replace_callback相反:$val='hello_world_again';functionmatch_toupper($m){returnstrtoupper($m[1]);}$va

php - preg_replace 只显示数字和破折号

我有这个字符串:Height(cm):200-250(cm)我只想显示数字和破折号,所以剩下的字符串将是:200-250这是我的尝试,但如何包含破折号?$item_data=preg_replace("/[^0-9]/",'',$item_data); 最佳答案 这应该适合你:只需添加破折号和空格即可。也不要忘记trim()字符串以去除值开头和结尾的空格。$str="Height(cm):200-250(cm)";echo$item_data=trim(preg_replace("/[^0-9-]/",'',$str));输出:20

条件下具有多个参数的 PHP str_replace()

我想在某些情况下使用phpstr_replace()函数。例如:如果字符串有am我想用:00替换,如果它有pm我想用:00替换。字符串上会有一个am或pm,我想用相同的变量替换。我如何使用PHP来实现?$classRoom->start=Carbon::parse($request->input('start'));dd(str_replace(array('am',':00'),array('pm',':00'),$request->input('start'))); 最佳答案 str_replace(array('am','pm