草庐IT

Preg_Match

全部标签

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

php - preg_match 查找带或不带第一个大写字母的正则表达式

在我的项目中,我需要找到一个特殊的正则表达式,如果第一个字母是大写或小写,它就可以工作。以下是示例字符串:user=usernameUser=username现在,我试过这个正则表达式:'/[^\n]user[^\n]*/'但是如果第一个字母是大写,这个表达式就找不到任何东西,所以我的问题是:在这两种情况下,找到包含“user”的行的正确正则表达式是什么? 最佳答案 您可以使用以下正则表达式:$re="/^user.*$/mi";参见demoi选项表示“忽略大小写”,m表示“多行”,强制^和$匹配线边界。.将匹配除换行符以外的任何字

php - preg_replace $变量为字符串

我发现了几个关于这个主题的问题,但没有适合我的目的的解决方案:$name='Adam';$line='Thisis(Adam)Eve!';$newline=preg_replace('/\(|\)/|\$name/','',$line);我的输出应该是ThisisEve...知道我的代码有什么问题吗?感谢您的帮助! 最佳答案 在singlequotedPHPstringliterals,变量不展开。此外,由于$被转义,它被匹配为文字字符。\$name匹配$name子字符串,而不是Adam。此外,|之前的/破坏了整个模式,过早地结束了

php - preg_match 和长字符串

这是我试图用来在文本文件中查找特定文本的preg_match。if(preg_match($regexp,$textFile,$result)>0){echo"Found".$result[0];}else{echo"Notfound";}但是,结果总是Found,仅此而已。结果数组为空。现在我读到preg_match不能处理长字符串。我的文本文件大约有300KB,所以我猜大概有300000个字符。我100%确定搜索到的字符串在文本文件中,并且preg_match函数返回值大于0的事实意味着它找到了它,但它没有以某种方式将它放入结果数组中。所以我的问题是,如何让它发挥作用?regexp

php - preg_match 模式查找 <html> 和 </html> 标签之间的字符串内容

我正在开发一个PHP脚本来读取电子邮件的内容,并提取某些信息以存储在数据库中。使用imap_fetchbody($imap_stream,$msg_number,1),我能够获取电子邮件的正文。在某些情况下(尤其是从手机以短信形式发送的电子邮件),电子邮件的正文如下所示:===------=_Part_110734_170079945.1283532109852Content-Type:text/html;charset=UTF-8;Content-Transfer-Encoding:7bitContent-Disposition:inlineMultimediaMessageSMSt