我有aPHP5.3script显示我网站的用户并想用它的旧名称替换某个俄罗斯城市(存储在PostgreSQL8.4.7数据库中的UTF8+CentOS5.5/64位Linux)(这是一个内部笑话):preg_replace('/Волгоград/iu','Сталинград',$city);不幸的是,这仅适用于完全匹配:Волгоград。这不适用于其他情况,例如ВОЛΓОΓРАД或волгоград。如果我将源代码修改为preg_replace('/[Вв]олгоград/iu','Сталинград',$city);然后它会捕获上面的第二种情况。有谁知道这是怎么回事以及如何
我正在尝试替换字符串中不是字母、数字或破折号“-”的任何内容。如何修改此行以包含破折号?$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(
这个问题在这里已经有了答案: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}}如何转义模式中的斜杠字符?换句话说,我应该
我一直在尝试从两个标签之间的站点字符串中删除一段文本。例如:ThisisCROPSTARTnotveryCROPENDcool....应该变成这样...Thisiscool.这是我试过的PHP,通常它可以工作:preg_replace('#\/\/CROPSTART[\s\S]+\/\/CROPEND#','',$string);但是,当字符串包含多个“CROPEND”时,它会裁剪从CROPSTART到最后一个CROPEND的所有内容。我希望它只在第一个CROPSTART和第一个CROPEND之间裁剪。有人知道怎么做吗?谢谢旺科 最佳答案
如何使用preg_match找到所有PHP变量。我制作了以下正则表达式:$string='Hallo$var.blabla$var,$iamavar$varvarvargfgdjfjdfgjhfd$variable';$instring=array();preg_match_all('/\$(.*?)/',$string,$instring);print_r($instring);我只是不明白正则表达式是如何工作的。 最佳答案 \$(.*?)不是匹配PHP变量名的正确正则表达式。这样的aregularexpressionforaVa
如何转义传入数据,以便在preg_replace()和consorts中将其用作模式?例如,我需要匹配这个字符串:/vorschau/显然,我需要对“v”进行转义,否则会出错。我在文档中找不到任何内容。是否有某种addslashes()或表达式中的解决方法? 最佳答案 如果我没有正确理解你的问题,你正在寻找preg_quote:stringpreg_quote(string$str[,string$delimiter=NULL])preg_quote()takesstrandputsabackslashinfrontofeveryc
我尝试从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
如何使用preg_replace()函数将电子邮件地址中的@和.符号替换为-符号在PHP中? 最佳答案 不需要使用preg_replace。使用str_replace相反:$output=str_replace(array('@','.'),'-',$input); 关于php-如何使用preg_replace()函数将两个不同的字符替换为一个字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q
我正在尝试在codeigniter中创建分页,并且可以正常工作,但我遇到了一个小问题。它似乎正在加载我数据库中的所有条目,而不是我想要的选定条目。publicfunctionoriginal_count(){$this->db->where('type','Original');return$this->db->count_all("story_tbl");}我知道发生的事情是最后一行压倒了我之前的陈述。我似乎无法找到解决方法。我只尝试了一个直接的sql语句然后返回它,但我也无法让它工作。这是我的声明...SELECTCOUNT(*)FROMstory_tblwheretype='Or
已编辑:需要拆分数组方面的帮助数组示例:array([0]=>:somenormaltext:somelongtexthere,andsoon...sometimesi'mbreakingdownand...:somenormaltext:somenormaltext)好的,现在通过使用preg_split('#\n(?!s)#',$text);我明白了[0]=>Array([0]=>somenormaltext[1]=>somelongtexthere,andsoon...sometimes[2]=>somenormaltext[3]=>somenormaltext)我想得到这个:[