草庐IT

SRE_Match

全部标签

PHP 5.4 安装后 : preg_match(): Compilation failed: unknown option bit(s) set at offset 0

我最近在我的LionOSX64位上将我的PHP升级到版本5.4.1,我在Codeigniter中遇到了一个错误:Severity:WarningMessage:preg_match():Compilationfailed:unknownoptionbit(s)setatoffset0Filename:core/Utf8.phpLineNumber:44我用谷歌搜索了这个问题,这似乎是PHP中的PCRE库的问题,我遵循了thistutorial这表明我用自制软件安装了pcre(我正在运行pcre8.30),但这并没有解决问题。我尝试四处寻找解决方案,但没有找到有用的解决方案-是否有解决此

php - preg_match 和(非英语)拉丁字符?

我有一个XHTML表单,我要求人们在其中输入他们的全名。然后,我使用以下模式将其与preg_match()匹配:/^[\p{L}\s]+$/在我运行PHP5.2.13(PCRE7.92009-04-11)的本地服务器上,这工作正常。在运行PHP5.2.10(PCRE7.32007-08-28)的虚拟主机上,当输入的字符串包含丹麦拉丁字符ø(http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=%F8&mode=char)时,它不匹配。这是一个错误吗?有变通办法吗?提前致谢! 最佳答案 所以

php - str_replace : Match whole word only

由于str_replace()在“:Name:Name_en”中两次匹配“:Name”,我只想匹配整个单词的结果。由于thisanswer,我想切换到preg_replace().$str=":Name:Name_en";echo$str.chr(10);$str=preg_replace('/\b'.':Name'.'\b/i','"Test"',$str);echo$str;但是由于冒号的缘故,这不起作用。没有更换发生。RegExp会是什么样子?\b是单词边界。但是我认为冒号不属于这样的词界。 最佳答案 您不需要在字符串的开头使

php - 在 PHP : (*UTF8) Works on Windows but not Linux 中使用 preg_match 匹配 UTF 字符

我有一个简单的正则表达式来检查用户名:preg_match('/(*UTF8)^[[:alnum:]]([[:alnum:]]|[_.-])+$/i',$username);在本地测试中(使用WAMP的Windows7),这将允许用户名使用UTF字符(例如é或ñ)。但是,当我在实际托管网站的服务器上进行测试时,我收到以下警告:Warning:preg_match()[function.preg-match]:Compilationfailed:(*VERB)notrecognizedatoffset5in/home/sites/vgmusic.com/test/Core/Impl/Fo

PHP:如何获取 preg_match_all 的字符串索引?

假设我有两个正则表达式,/eat(apple|pear)//Ilike/和文字"Iliketoeatapplesonarainyday,butonsunnydays,Iliketoeatpears."我想要的是用preg_match得到如下索引:match:0,5(Ilike)match:10,19(eatapples)match:57,62(Ilike)match:67,75(eatpears)有没有什么方法可以使用preg_match_all获取这些索引,而无需每次都循环遍历文本?编辑:解决方案PREG_OFFSET_CAPTURE! 最佳答案

php - preg_match 中的符号是什么意思?

我在离线借用的代码片段中有这个表达式。它强制新用户的密码不仅需要大写+小写+数字,而且必须按此顺序!如果我输入lower+upper+numbers,它会失败!if(preg_match("/^.*(?=.{4,})(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).*$/",$pw_clean,$matches)){我在网上搜索过,但找不到可以告诉我某些字符含义的资源。我可以看到模式是preg_match("/someexpression/",yourstring,yourmatch).这些是什么意思:1.^-???2..*-???3.(?=.{4,})-requir

php - preg_match 验证 URL slug

我让用户在我的网站上创建他们自己的个人资料,这样他们就可以选择他们的url。因此,例如,如果他们的名字是JohnSmith,他们可能想输入john-smith,然后他们的个人资料URL将是www.mysite.com/john-smith。我需要使用preg_match来验证他们输入的是一个有效的URLslug。所以这里是它必须满足的规则才有效:它必须至少包含一个字母,并且只能包含字母、数字和连字符谁能帮帮我,我擅长PHP,但对正则表达式很垃圾! 最佳答案 我希望这段代码是不言自明的:但如果不是,函数test_username()将

php - 如何在 preg_match() 中匹配重音字符?

我读过howaccentedcharactersmightsometimesmatch[a-z].我想知道的是如何匹配特定的重音字符。显然,preg_match('/[ñ]/','ñ')不起作用。 最佳答案 使用/u修饰符。这将为正则表达式启用Unicode。http://php.net/manual/en/reference.pcre.pattern.modifiers.php 关于php-如何在preg_match()中匹配重音字符?,我们在StackOverflow上找到一个类似的

PHP、MySQL 错误 : Column count doesn't match value count at row 1

我收到此错误:列数与第1行的值数不匹配来自以下代码:$name=$_GET['name'];$description=$_GET['description'];$shortDescription=$_GET['shortDescription'];$ingredients=$_GET['ingredients'];$method=$_GET['method'];//$image=$_GET['image'];$username=$_GET['username'];$length=$_GET['length'];$dateAdded=uk_date();$conn=mysql_conne

PHP、MySQL 错误 : Column count doesn't match value count at row 1

我收到此错误:列数与第1行的值数不匹配来自以下代码:$name=$_GET['name'];$description=$_GET['description'];$shortDescription=$_GET['shortDescription'];$ingredients=$_GET['ingredients'];$method=$_GET['method'];//$image=$_GET['image'];$username=$_GET['username'];$length=$_GET['length'];$dateAdded=uk_date();$conn=mysql_conne