草庐IT

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

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

PHP preg_split,表达式 i 大括号并保存定界符

我已经为此苦苦挣扎了半天,但我似乎找不到答案。请帮助菜鸟。:)我有一个字符串,它由几个放在大括号中的句子组成。它看起来像这样:{super骗人的额外文字。}{很棒的另一个文字!}{我们又来了...}现在我想拆分它。我发现我可以搜索.}{等模式。所以我这样做了:$key=preg_split('/[!?.]{1,3}\}\{/',$key);但是这样我失去了定界符,我失去了所有那些。!?等在句末。我试过这样做:$key=preg_split('/([!?.]{1,3}\}\{)/',$key,-1,PREG_SPLIT_DELIM_CAPTURE);$sentences=array();

php - preg_match 返回空数组

我总是使用preg_match它总是工作正常,但今天我试图在两个html标签之间获取内容DATA我有一个问题,我的代码对此进行了解释:functionfindThis($data){preg_match_all("/\(.*?)\/i",$data,$conditions);return$conditions;}//plaintext//workingfine$data1='Sometext...Some..TeThisisaphpcode';//Atextwithanewlines//Notworking..$data2='sometext..some..teThisisaphpco

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 - 在换行符中使用 preg_match_all

我正在尝试使用preg_match_all从网站中获取特定部分的出现次数,我之前已经成功地做到了这一点,但现在的不同之处在于这些部分跨越换行符......因为我'我明白了,我应该可以用一些修饰符来做到这一点......所以相关网站上的部分结构是这样的:所以我正在尝试使用LICRabatGuideAftale获取所有事件并清除...我试过:preg_match_all("/LICRabatGuideAftale(.*)clear/s",$link_section,$link_array);但它似乎并没有将网站分成几个部分,而是只给了我数组中的1个条目... 最

php - Preg_split on quote,除非后面跟着另一个引号

我正在尝试使用分隔符捕获在引号字符(")上拆分UTF-8字符串,除非该引号后跟第二个引号(""),以便(例如)"A""B""C"&"D""E""F"将拆分为三个元素"A""B""C"&"D""E""F"我一直在尝试使用:$string='"A""B""C"&"D""E""F"';$temp=preg_split('/"[^"]/mui',$string,null,PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);但没有像它给我的那样成功array(7){[0]=>string(2)"""[1]=>string(1)"""[2]=>string(

php - `preg_match` 中的 p 代表什么?

这个问题在这里已经有了答案:WhatdoespregstandforinPHP'sfunctions?(1个回答)关闭9年前。在ruby中,有一个函数叫做gsub,其中g代表global,sub代表substitution。preg_match中的p是什么?我想reg是regular而match是真正的match。对吗?

php - preg_split 不删除搜索模式

我有数千个文本文件要解析,它是一个遵循特定模式的产品目录。它有两个序列号,其中一个我将整个文本拆分成一个数组,每个键一个产品。问题是我在preg_split中使用的序列号从产品中删除了,而我需要它。这是一个原始产品:1532.000028-01532.213.00010875-8TRESANÉIS,DOISPENDENTES,DOISBRINCOS,SENDOUMCOMTARRACHADEMETALNÃONOBRE,DE:OURO,OUROBRANCOBAIXO;CONTÉM:diamantes,pérolacultivada,pedra,massa;CONSTAM:amassada(

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