草庐IT

match_first

全部标签

php - preg_match foreach

所以我使用preg_match来获取#之后的任何文本,直到字符串中的空格。但是,如果它在字符串中多次出现,它只会返回第一个。这是我目前所拥有的$text='#demo1#demo2sometext#blah2';$check_hash=preg_match("/([#][a-zA-Z-0-9]+)/",$text,$hashtweet);foreach($hashtweetas$ht){echo$ht;}echo$ht;输出#demo1#demo1当它应该输出前面带#的所有3个单词时。非常感谢任何帮助。 最佳答案 您想使用preg_

php - 如何使用 preg_match() 获得最短而不是最长的正则表达式匹配

我有类似这个的字符串:{{something1}}something2{{something3}}something4如何使用preg_match()函数只匹配“something1”?我试过:preg_match("/\{\{(.*)\}\}/si",$content,$matches);但是这个匹配太多了,返回something1}}something2{{something3我尝试将\b添加到模式中,但也没有得到我想要的结果。你能帮我解决这个问题吗? 最佳答案 使用非贪婪修饰符?:preg_match("/\{\{(.*?)\

PHP preg_match() 返回最后一次匹配的位置

与preg_match($pattern,$subject,$matches,PREG_OFFSET_CAPTURE);是否可以反向搜索字符串?即,返回主题中模式最后一次出现的位置,类似于strripos。或者我是否必须使用preg_match_all返回所有匹配项的位置并使用$matches的最后一个元素? 最佳答案 PHP没有从右到左搜索字符串的正则表达式方法(如.NET)。有几种可能的方法可以解决这个问题(此列表并不详尽,但它可能会为您自己的解决方法提供想法):使用preg_match_all带有PREG_SET_ORDER标

php - preg_match() 和用户名

functionisUserID($username){if(preg_match('/^[a-z\d_]{2,20}$/i',$username)){returntrue;}else{returnfalse;}}简单的..,我有这个,你能解释一下它检查的是什么吗?我知道它会检查用户名的长度是否在2-20之间,还有什么?谢谢 最佳答案 它搜索仅包含字母数字和下划线字符的文本,长度为2到20个字符。/^[a-z\d_]{2,20}$/i|||||||||||||||||||||i:caseinsensitive|||||||||/:e

php - php 中的正则表达式 : take the shortest match

我正在尝试做一个PHP正则表达式,但找不到正确的方法...假设我有这个字符串:“你好,我的{{nameisPeter}}and{{Iwanttoeatchocolate}}”我想取{{和}之间的部分但是如果我使用preg_match("/\{\{(.*)?\}\}/",$string)它只返回一个字符串“{{nameisPeter}}and{{Iwanttoeatchocolate}}”我怎么知道取}}的第一个巧合?谢谢 最佳答案 使用"/{{(.*?)}}/"表达式".*"是贪心的,尽可能多地获取字符。如果您使用".*?"会使用尽

php - strtotime ('first day of last month' 的版本差异)?

在包含的脚本中date('Y-m-d',strtotime('firstdayoflastmonth'))例如,在版本5.3.10(本地主机)中,我得到“2012-03-01”。在版本5.2.17(远程主机)中,我得到“1969-12-31”。是否有一个表达式会返回两个版本的预期(例如,“2012-03-01”)结果? 最佳答案 你应该使用mktime()功能:SeeInAction 关于php-strtotime('firstdayoflastmonth'的版本差异)?,我们在Stac

php - MVC 模式 : what needs to be created first?

我正在研究CodeIgniter及其软件模式。应该先创建View还是Controller? 最佳答案 模型因为那是您的应用程序。Controller和View只形成模型的一个接口(interface)。可以说,Controller就是你家的门。你先build什么?门还是房子?对,所以先建立模型。然后给它添加一个接口(interface)。 关于php-MVC模式:whatneedstobecreatedfirst?,我们在StackOverflow上找到一个类似的问题:

php - preg_match 多个单词

我想测试一个字符串,看看它是否包含某些单词。即:$string="Theraininspainiscertainasthedryontheplainisoveranditisnotclear";preg_match('`\brain\b`',$string);但是那个方法只能匹配一个词。如何检查多个单词? 最佳答案 类似于:preg_match_all('#\b(rain|dry|clear)\b#',$string,$matches); 关于php-preg_match多个单词,我们在

PHP:使用单词(即 First、Second、Third 等)递增计数器函数

我一直在尝试寻找一个函数,它可以使用单词来递增计数器。我知道可以使用带后缀的数字(即1st、2nd、3rd等等)。这是我得到的代码片段:functionaddOrdinalNumberSuffix($num){if(!in_array(($num%100),array(11,12,13))){switch($num%10){//Handle1st,2nd,3rdcase1:return$num.'st';case2:return$num.'nd';case3:return$num.'rd';}}return$num.'th';}CodeSource但是有没有办法用单词(即第一、第二、第

PHP preg_match 只匹配数字和字母,没有特殊字符

我不想要preg_match_all...因为表单字段只允许数字和字母...只是想知道正确的语法是什么...没什么特别的……只需要知道只查找数字和字母的preg_match语句的正确语法。有点像preg_match('/^([^.]+)\.([^.]+)\.com$/',$unit)但这也不会寻找数字...... 最佳答案 如果你只想确保一个字符串只包含字母数字字符。A-Z、a-z、0-9不需要使用正则表达式。使用ctype_alnum()文档中的示例:上面的例子会输出:ThestringAbCd1zyZ9consistsofall