草庐IT

php - 解释这个 PHP 正则表达式的含义 (preg_match_all)

这个问题在这里已经有了答案:Reference-Whatdoesthisregexmean?(1个回答)关闭7年前。模式在PHP中是什么意思:'#^/abc/(?P[^/]++)$#si';//pleaseexpandthispattern'smeaning.什么是字符串可以匹配此模式与preg_match_all?

php - preg_match 与数字 PHP

当我使用它时: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('/^[

php - preg_match_all 用逗号分隔,值可能包含空格

我目前有一个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.'>';} 最佳答案

php - 如何在 php 中使用 preg_match?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我想创建一个表单验证,我想确保用户不会在文本框中输入任何危险代码,所以我想使用preg_match来做到这一点。我不喜欢用户输入的是(不是a-z中的单词,A-Z中的单词和数字)。现在如何在这里使用preg_match?

php - preg_match 从字符串返回多个值

我想从一些URL中提取两个值。示例网址:cricket-ck-game-playhand-ball-hb-game-playvolley-ball-vb-game-playsoccer-sc-game-play我想分别提取完整游戏名称及其短名称,忽略URL末尾的-game-play部分。我尝试了以下代码,它返回“ck”、“hb”、“vb”、“sc”,但不返回全名。preg_match("/(?我得到的实际结果:array(1){[0]=>string(2)"ck"}预期结果:case:1(Incaseofexample1)-array(2){[0]=>string(7)"cricket

php - filter_var 与 preg_match

早上好我正在转换我正在处理的网站以与最新版本的PHP兼容,因此我正在检查并用未折旧的等效项替换所有ereg实例。然而,有人告诉我有一个名为filter_var的方便的PHP内置函数。我的问题是,使用filter_var而不是preg_match是否有意义?至于选择一个而不是另一个是否有性能提升或任何其他好处,如果有的话,它们是什么? 最佳答案 首先,关于过滤的PHP手册页:https://php.net/manual/en/book.filter.php其次,上下文是关键。一般来说,过滤器函数被设计为使用外部输入(标量或数组),或内

php - preg_replace 和 preg_match 阿拉伯字符

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:howtoaddArabicletterstourlregex我已经搜索了几个小时,但没有找到答案。如何在阿拉伯字符和英语字符上使用preg_replace?这是我的代码是英文的$string=preg_replace("/&([a-zA-Z])(uml|acute|grave|circ|tilde|ring),/","",$string);$string=preg_replace("/[^a-zA-Z0-9_.-]/","",$string);一些答案​​建议我使用这段代码:$string=preg_rep

php - preg_match 在第一个选择器中选择匹配项

我要测试这个字符串,但无法让它按我想要的方式工作:我希望我的脚本返回fatal而不是500,因为它是我的第一个选择器。可能吗?提前致谢,抱歉我的英语不好。附言:也许我的标题不是很清楚,但我不知道如何更好地解释它。如果找到它,请更改它。 最佳答案 如果你只想用一个正则表达式来做,你可以这样做:$selectors=array('fatal','500');//Arrayofselectors(inpriorityorder)$delimiter='/';$regex=$delimiter.'('.implode('|',array_m

php - 正则表达式 : match a word of certain length which starts with certain letters

我需要一个匹配7字母单词的正则表达式,该单词以'st'开头。例如,它应该只匹配以下内容中的'startin':startstartinstarting 最佳答案 一般提示:起始符号直接包含在正则表达式中,例如ST。如果起始字符在正则表达式语法的意义上是特殊的(如点、括号等),则需要使用反斜杠对它们进行转义,但在您的情况下不需要。在起始符号之后,为“单词”的剩余字符添加字符类。如果要允许所有字符,请使用点:.。如果要允许所有非空白字符,请使用\S。如果您只想允许(unicode)字母,请使用\p{L}。要仅允许非重音拉丁字母,请使用[

php - preg_match_all能匹配获取的最大字符串长度?

我正在尝试使用preg_match_all()解析一些网页,其中一些网页非常大,有几MB。并且其中一个正则表达式匹配了一些文本字符串,这些字符串非常大,以至于它们似乎无法匹配并获取它们。它只是返回一个空字符串。当我手动选择它并将其保存为.txt文件时,其中一个字符串是1.32MB或1,393,557字节。当字符串短得多,只有几万字节时,正则表达式成功匹配并获取它。所以我的问题是,我发现preg_match_all()可以匹配的字符串有一个限制/最大长度,它是什么以及如何将它设置得更大? 最佳答案 将ini_set('pcre.bac