草庐IT

PHP 正则表达式 : Difference between\s and\\s

我知道\s用于匹配空白字符,但有时我看到“\\s”用于预匹配并且工作正常。例如:if(preg_match("/\\s/",$myString)){//therearespaces}if(preg_match("/\s/",$myString)){//therearespaces}以上两个代码块有什么区别吗? 最佳答案 试图理解手册中的文字。http://php.net/manual/en/regexp.reference.escape.phpSingleanddoublequotedPHPstringshavespecialmea

php - 将 $x<y$ 替换为 $x < y$

我想在文本中搜索小于号在美元符号之间,如$x并将其替换为$x.我正在使用mathjax,小于号会导致渲染Mathjax时出现一些问题。(参见此处:http://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents)。我试过了$text=preg_replace("/\$(.*?)(但我不确定这是否是一个好的解决方案。我是编程新手:)感谢您的帮助。 最佳答案 我编辑了我以前的答案-现在试试这个:$text=preg_replace('/\$([^$DEM

php preg_split 忽略特定字符串中的逗号

我需要一些帮助。我想要的是忽略特定字符串中的逗号。这是一个逗号分隔的文件csv,但名称有一个逗号,我需要忽略它。我得到的是结果是$result(phpcode):'hypertextlanguage',1=>'programming',2=>'Amazon',3=>'Inc.',4=>'100',);?>我想要的结果是$result(phpcode):'hypertextlanguage',1=>'programming',2=>'Amazon,Inc.',3=>'100',);?>感谢您的帮助:) 最佳答案 请注意[\W,\s]=

PHP文字转表情

我一直有点挣扎......我查了大约5个与此相关的stackoverflow问题,但似乎没有一个符合我的想法。基本上我只想用表情符号代替“文字”。问题是我希望该词仅不属于另一个词的一部分时被转换。这是我目前的代码:$text=":Didontkn:owaboutthis:Oijustwantto:)and:Deveryday:P";$icons=array(':)'=>'',':D'=>'',':('=>'','>:O'=>'',':p'=>'',':P'=>'',':O'=>'',':o'=>'');foreach($iconsas$icon=>$image){$icon=preg_

PHP 正则表达式,preg_replace_callback,在 1 个字符串中有 2 个可能的匹配失败

我正在研究这个非常基础的类(class),以了解有关正则表达式的更多信息。我想要实现的是从testview文件中抓取内容,抓取恰好在{{EACHslides}}和{{#EACH}}之间的字符串。现在出现在类中的正则表达式就是这样做的,加上开始标记中的变量名。然后我想使用该字符串与正确的变量一起循环并将其放回原处。但是当我在我的View中使用2个EACH循环而不是1个时,它会严重失败。preg_replace_callback()将匹配第二个循环的第一个开始标记和最后一个结束标记,并给出如下字符串:"htmlbalalbal{{#EACH}}morehtmlblabla{{EACHnew

Php字符串根据字符与字符串条件匹配来分解字符串

我有这样的字符串:$string1='35Hose&Couplings/350902GARDENHOSECOUPLING,PVC,16\/19MM"';$string2='35Hose&Couplings/350904GARDENHOSETAPCONNECTOR,PVC,3\/4"FEMALETHREAD"';我试着把字符串分开,然后把它变成这样的数组:$name1=explode('/',$string1);$name1=trim(end($name1));$name2=explode('/',$string2);$name2=trim(end($name2));/*#results

PHP 解析链接/电子邮件

我想知道是否有一个简单的片段可以转换任何类型的链接:http://www.cnn.comtohttp://www.cnn.comcnn.comtocnn.comwww.cnn.comtowww.cnn.comabc@def.comtotomailto:abc@def.com我不想使用任何PHP5特定的库。感谢您的宝贵时间。更新我已经将上面的文本更新为我想要将其转换成的内容。请注意,案例2和案例3的href标签和文本是不同的。UPDATE2gmail聊天是如何做到的?他们的非常聪明,只适用于真实域名。例如a.ly有效,但a.cb无效。 最佳答案

正则表达式 : lookbehind and lookahead and greediness problem

这应该很简单,但我是菜鸟,我一辈子也搞不懂。我正在尝试使用正则表达式来匹配特殊打开/关闭标签内的文本:[p2][/p2]所以在这段文字中:apple[p2]banana[/p2]grape[p2]lemon[/p2]它应该匹配“banana”和“lemon”。到目前为止,我使用的正则表达式是:(?但这太贪心了。它匹配以banana中的“b”开头,以lemon中的“n”结尾,匹配banana[/p2]grape[p2]lemon。我该如何搭配香蕉和柠檬? 最佳答案 应该这样做:(?我添加了问号以使量词成为非贪婪的。

php - 正则表达式检查是否存在确切的字符串,包括#

新问题正如Asaph在上一个问题中所建议的:Regextocheckifexactstringexists我正在寻找一种方法来使用Regex或建议的任何更好的方法来检查另一个字符串中是否存在完全匹配的字符串。我知道您告诉正则表达式匹配字符串开头或结尾的空格或任何其他非单词字符。但是,我不知道如何设置它。搜索字符串:#t应该匹配:字符串1:HelloWorld,很高兴见到你!#t字符串2:#THelloWorld,很高兴见到你!字符串3:HelloWorld,#t很高兴见到你!不应该匹配:字符串1:HelloWorld,很高兴见到你!字符串2:HelloWorld,很高兴见到你!#ta字

php - 使用命名模式子例程的 PCRE 正则表达式

我正在试验PHP的PCRE中的命名子模式/“子例程”正则表达式功能,我希望有人可以解释以下奇怪的输出:$re="/(?(DEFINE)(?a))^(?&a)$/x";var_dump(preg_match($re,'a',$match));//(int)1asexpectedvar_dump($match);//Array([0]=>'a')我不明白为什么命名组“a”不在结果中(内容为“a”)。将preg_match更改为preg_match_all会将“a”和“1”放入匹配数据中,但两者都只包含一个空字符串。我真的很喜欢以这种方式编写正则表达式的想法,因为您可以使它们变得非常强大,同