我尝试使用preg_split拆分文本,但我没有得到它的正则表达式。例子:Isearch1,regexto:no.Or...yes!应该得到:Array([0]=>I[1]=>search[2]=>1[3]=>,[4]=>regex[5]=>to[6]=>:[7]=>no[8]=>.[9]=>Or[10]=>...[11]=>yes[12]=>!)我尝试了以下代码:preg_split("/([\s]+)/","Isearch1,regexto:no.Or...yes!")结束于:Array([0]=>I[1]=>search[2]=>1,[3]=>regex[4]=>to:[5]=>
当我使用它时:preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/',0.0001);返回值为1,当我使用它时:preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/',0.00001);返回值为0。有人可以告诉我为什么吗?谢谢! 最佳答案 因为小float通常使用指数表示法显示,所以0.00001被转换为1.0E-5,这与正则表达式不匹配。如果你只是这样做,你可以看到这个:echo0.00001;正则表达式应该与字符串一起使用,而不是数字。preg_match('/^[
我目前有一个preg_match_all用于不包含空格的常规字符串,但我现在需要让它适用于每个空格之间的任何内容。我需要abc,hh,heythere,123,hey_there_返回abchh嘿``123hey_there_但是当涉及到空格时,我当前的脚本就会停止。preg_match_all("/([a-zA-Z0-9_-]+)+[,]/",$threadpolloptions,$polloptions);foreach(array_unique($polloptions[1])as$option){$test.=$option.'>';} 最佳答案
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我想创建一个表单验证,我想确保用户不会在文本框中输入任何危险代码,所以我想使用preg_match来做到这一点。我不喜欢用户输入的是(不是a-z中的单词,A-Z中的单词和数字)。现在如何在这里使用preg_match?
我在我的PHP应用程序中列出了一些日期,结果如下所示:April2016May2016June2016等我正在尝试使用preg_split将它们格式化为这样:array('April2016','May2016','June2016')我使用在线正则表达式编辑器来确定如何检测4个连续数字,这是我取得的进展:注意:我也删除了所有的空白——理想情况下,如果它只删除超过2个空格的空白会更好,即helloworld不会被改变,但hello世界会。preg_split('/\d\d\d\d/g',preg_replace('!\s+!','',$sidebar_contents));使用上面的方
我已经尝试过了,但我根本无法理解PHP中的正则表达式。我需要一个执行以下操作的正则表达式:忽略以双下划线开头的文件。(例如__file.jpg)忽略以“thumb”结尾的文件。(例如somethumb.jpg或thumb.jpg)忽略除gif|jpg|png|jpeg之外的所有文件类型我现在有以下内容,似乎满足了#2和#3,但没有满足#1:preg_match(/(?非常感谢任何帮助! 最佳答案 如果我对第三点的理解正确,那就意味着它应该以所有这些文件扩展名结尾。考虑到这一点,以下将起作用第一个解决方案(?!^__|.*thumb\
我有一个包含这些值的数据数组:Array([id]=>1[myid]=>9[date]=>2014-01-30[user]=>17[reason]=>sometexthere...)这个字符串包含引用数据数组索引的数字:$columns='(0)as"id",(1)as"myid",(2)as"date",(3)as"user",(4)as"reason"';是否可以更改括号中的数字,包括将括号中的数字更改为数组中的适当值?我知道如何使用(string)preg_replace((array)$patterns,(array)$replacements,(string)$subject
基本上我有这个,但它要么:[en].{0,2}$我想要做的是检测“en”而不是“e”或“n”。只是按顺序“en”,但在最后三个字符中。所以应该匹配attend但不是:attained所以它必须检测最后三个字符是否按顺序包含'en'。 最佳答案 Just'en'inthatorderbutinthelastthreecharacters.这意味着您需要匹配字符串末尾的en或字符串末尾后面有任何单个字符的en。你可以使用en.?$参见regexdemo详情en-en子串.?-任何可选的字符$-字符串结尾。如果输入中可能有换行符,请使用s
我的字符串是:/var/www/domain.com/public_html/foo/bar/folder/another/..我想从这个字符串中删除根文件夹,只得到公共(public)文件夹,因为有些服务器里面有多个网站。我实际的正则表达式是:/^(.*?)(www|public_html|public|html)/s我的实际结果是:/domain.com/public_html/foo/bar/folder/another/..但我想删除最后一个ocorrence,并得到这样的东西:/foo/bar/folder/another/..谢谢! 最佳答案
我想做的是$var="[h1]ThisisJustatext,[h1]andthisinsideit[/h1]Thisjustexample[/h1]";$output=preg_replace("/\[h1\](.*?)\[\/h1]/","$1",$var);echo$output;这里我想忽略第一个[/h1]来使结果正确,我该如何实现呢?有没有办法只获取第一个和最后一个标签?我不知道我应该做什么或尝试,我还不够好,无法尝试,已编辑输出是ThisisJustatext,[h1]andthisinsideitThisjustexample[/h1]但我希望得到ThisisJustat