草庐IT

Preg_Match

全部标签

PHP 反向 Preg_match

这个问题在这里已经有了答案:Regularexpressiontomatchalinethatdoesn'tcontainaword(33个答案)关闭4年前。if(preg_match("/".$filter."/i",$node)){echo$node;}这段代码过滤一个变量来决定是否显示它。$filter的一个示例条目是“office”或“164(.*)976”。想知道有没有简单的说法:如果$filter在$node中不匹配。以正则表达式的形式?所以...不是“if(!preg_match”,而是$filter=“!office”或“!164(.*)976”,但它有效吗?

php - 正则表达式 : Match 1 to 60 or all

我需要一些关于php(Symfony)中的正则表达式的帮助。我想匹配值1到60或全部字符串。对于数字,我使用了这个:^([1-5]?[0-9]|60)但它匹配0...而我不要现在怎么能匹配“全部”。你能帮帮我吗?非常感谢之前 最佳答案 您应该能够将其分为以下几种可能性:^([1-9]|[1-5][0-9]|60|all)$这给了你四种可能性:[1-9]个位数的值。[1-5][0-9]:从十到五十九的所有内容。60:六十。all:您的“全部”选项。但请记住,正则表达式并不总是所有问题的答案。有时它们对于复杂的值检查不太有用(尽管在这种

php - 将 preg_match() 与 REGEX 表达式一起使用时的未知修饰符 '('

这个问题在这里已经有了答案:Warning:preg_replace():Unknownmodifier(3个答案)关闭3年前。我正在尝试使用preg_match()通过PHP验证诸如DD/MM/YYYY之类的日期。这是我的REGEX表达式的样子:$pattern="/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";但是用正确的值使用它,我得到这个消息:preg_match():Unknownmodifier'('完整代码:$pattern="/^([123]0|[012][1-9]|31)/(0[1-

PHP:UTF8 中西里尔字符串的不区分大小写的 preg_replace

我有aPHP5.3script显示我网站的用户并想用它的旧名称替换某个俄罗斯城市(存储在PostgreSQL8.4.7数据库中的UTF8+CentOS5.5/64位Linux)(这是一个内部笑话):preg_replace('/Волгоград/iu','Сталинград',$city);不幸的是,这仅适用于完全匹配:Волгоград。这不适用于其他情况,例如ВОЛΓОΓРАД或волгоград。如果我将源代码修改为preg_replace('/[Вв]олгоград/iu','Сталинград',$city);然后它会捕获上面的第二种情况。有谁知道这是怎么回事以及如何

破折号的 PHP preg_replace 正则表达式

我正在尝试替换字符串中不是字母、数字或破折号“-”的任何内容。如何修改此行以包含破折号?$link=preg_replace('/[^a-z0-9]/',"",strtolower($_POST['link_name']));我只是把它插进去吗?$link=preg_replace('/[^a-z0-9-]/',"",strtolower($_POST['link_name'])); 最佳答案 你必须转义-因为它是正则表达式的特殊字符:$link=preg_replace('/[^a-z0-9\-]/','',strtolower(

php - 如何转义 preg_match 模式中的斜杠字符?

这个问题在这里已经有了答案:IsthereaPHPfunctionthatcanescaperegexpatternsbeforetheyareapplied?(2个答案)关闭4年前。我有这样一段文字:line1/1/1/2行短语之后的文本是函数的参数,例如当我调用extractData('1/1/1/2','Themaintext')时:functionextractData($line,$text){$pattern="/line(\s+)$line/";if(preg_match($pattern,$text)){//somecode}}如何转义模式中的斜杠字符?换句话说,我应该

php - 使用 preg_replace 删除 php 中两个字符串之间的文本

我一直在尝试从两个标签之间的站点字符串中删除一段文本。例如:ThisisCROPSTARTnotveryCROPENDcool....应该变成这样...Thisiscool.这是我试过的PHP,通常它可以工作:preg_replace('#\/\/CROPSTART[\s\S]+\/\/CROPEND#','',$string);但是,当字符串包含多个“CROPEND”时,它会裁剪从CROPSTART到最后一个CROPEND的所有内容。我希望它只在第一个CROPSTART和第一个CROPEND之间裁剪。有人知道怎么做吗?谢谢旺科 最佳答案

php - 使用 preg_match 查找所有 PHP 变量

如何使用preg_match找到所有PHP变量。我制作了以下正则表达式:$string='Hallo$var.blabla$var,$iamavar$varvarvargfgdjfjdfgjhfd$variable';$instring=array();preg_match_all('/\$(.*?)/',$string,$instring);print_r($instring);我只是不明白正则表达式是如何工作的。 最佳答案 \$(.*?)不是匹配PHP变量名的正确正则表达式。这样的aregularexpressionforaVa

php - addslashes() for preg_replace() 和 co.?

如何转义传入数据,以便在preg_replace()和consorts中将其用作模式?例如,我需要匹配这个字符串:/vorschau/显然,我需要对“v”进行转义,否则会出错。我在文档中找不到任何内容。是否有某种addslashes()或表达式中的解决方法? 最佳答案 如果我没有正确理解你的问题,你正在寻找preg_quote:stringpreg_quote(string$str[,string$delimiter=NULL])preg_quote()takesstrandputsabackslashinfrontofeveryc

php - 使用正则表达式 preg_match 获取 id video vimeo

我尝试从vimeo的url获取idvideo,但有时查看源代码如下:http://vimeo.com/XXXXXXXXX和其他类似的:http://player.vimeo.com/video/XXXXXXXXX我刚得到idvideo,但它必须使用regExp,因为我必须解析来自博客的内容,并且当我们插入代码html时,我必须像facebook页面那样格式化。这是我制作的正则表达式:/vimeo\.com\/(\w+\s*\/?)*([0-9]+)*$/i你能帮帮我吗?感谢您的帮助。PD:抱歉我的英语不好 最佳答案 为什么不询问Vi