草庐IT

preg-quote

全部标签

php - 如何将重音字符与 PHP preg 匹配?

我想让我的用户不仅可以填写字母和数字,还可以填写“á”、“é”等“特殊”字母。但是,我不希望他们能够使用“!”、“@”、“%”等符号。有没有办法编写一个正则表达式来完成这个?(最好不要指定每个特殊字母。)现在我有:$reg='/^[\w\-]*$/'; 最佳答案 您可以使用Unicodecharacterproperties描述人物:/^[\p{L}-]*$/u\p{L}描述了Unicode字母字符的类别。 关于php-如何将重音字符与PHPpreg匹配?,我们在StackOverflo

php - Preg 匹配 php 中 html 标签之间的文本

您好,我想在PHP中使用preg_match从html文档中解析以下内容中的“所需文本”Desiredtext通常我会为这些事情使用simple_html_dom但在这种情况下它不能使用(上面的元素没有出现在每个需要的div标签中所以我不得不使用这种方法来准确跟踪它什么时候没有't出现,然后相应地从simple_html_dom调整我的数组)。无论如何,这会解决我的问题。非常感谢。 最佳答案 preg_match("'(.*?)'si",$source,$match);if($match)echo"result=".$match[1

PHP preg_replace : Case insensitive match with case sensitive replacement

我在PHP中使用preg_replace来查找和替换字符串中的特定单词,如下所示:$subject="Appleapple";printpreg_replace('/\bapple\b/i','pear',$subject);结果为'pearpear'。我想做的是以不区分大小写的方式匹配一个单词,但在替换它时尊重它的大小写-给出结果“Pearpear”。以下工作,但对我来说似乎有点啰嗦:$pattern=array('/Apple\b/','/apple\b/');$replacement=array('Pear','pear');$subject="Appleapple";print

php - 将 ereg() 更改为 preg_match() 时的故障排除 "Delimiter must not be alphanumeric or backslash"错误

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:Convertingeregexpressionstopreg';?>我得到了这个错误Deprecated:Functionereg()isdeprecatedinC:\ProgramFiles\EasyPHP-5.3.8.1\www\m\img.phponline5Deprecated:Functionereg()isdeprecatedinC:\ProgramFiles\EasyPHP-5.3.8.1\www\m\img.phponline6preg_match()函数给出此错误Warning:preg_

php preg_match 非贪婪?

这个问题在这里已经有了答案:Howtogettheshortestratherthanlongestpossibleregexmatchwithpreg_match()(3个答案)关闭3年前。我有一个字符串(来自一个文件):ILX(Newfor2013!)Overview:TheleastexpensiveroutetoHonda'spremium-labelgoodnessDrivetrain:Twofour-cylinderenginestochoosefromaswellasagas-electrichybrid;front-wheel-driveonly.如何获取字符串:$wr

PHP preg_match 查找整个单词

我对正则表达式很陌生。你能帮我创建一个匹配整个单词的模式,包含特定部分吗?例如,如果我有一个文本字符串“执行正则表达式匹配”,并且如果我搜索express,那么如果我搜索,它就会给我expressionform,它应该给我Perform等等。明白了吗? 最佳答案 preg_match('/\b(express\w+)\b/',$string,$matches);//matchesexpressionpreg_match('/\b(\w*form\w*)\b/',$string,$matches);//matchesperform,/

php - preg_replace 所有空格

我正在尝试用下划线替换所有空格,但以下内容不起作用:$id="aaaa";echo$id;preg_replace('/\s+/','_',$id);echo$id;打印aaaaaaaa 最佳答案 preg_replace函数不会就地修改字符串。它返回一个包含替换结果的新字符串。您应该将回调的结果分配回$id变量:$id=preg_replace('/\s+/','_',$id); 关于php-preg_replace所有空格,我们在StackOverflow上找到一个类似的问题:

PHP preg_match - 只允许字母数字字符串和 - _ 字符

我需要正则表达式来检查字符串是否只包含数字、字母、连字符或下划线$string1="Thisisastring*";$string2="this_is-a-string";if(preg_match('******',$string1){echo"String1notacceptableacceptable";//String2acceptable} 最佳答案 代码:if(preg_match('/[^a-z_\-0-9]/i',$string)){echo"notvalidstring";}解释:[]=>字符类定义^=>否定类a-

php - preg_match() : Compilation failed: invalid range in character class at offset

提前感谢您抽出宝贵时间帮助解决此问题。preg_match():Compilationfailed:invalidrangeincharacterclassatoffset20session.phponline278在我们的服务器上进行PHP升级后,这在工作了几个月后突然停止工作。这里是代码else{/*Spruceupusername,checklength*/$subuser=stripslashes($subuser);if(strlen($subuser)setError($field,"*Usernamebelow".$config['min_user_chars']."ch

php - 如何使用 preg_match 来测试空格?

我将如何使用PHP函数preg_match()来测试字符串以查看是否存在空格?示例"thissentencewouldbetestedtrueforspaces""thisOneWouldTestFalse" 最佳答案 如果您对任何空白区域(包括制表符等)感兴趣,请使用\sif(preg_match("/\\s/",$myString)){//therearespaces}如果您只对空格感兴趣,那么您甚至不需要正则表达式:if(strpos($myString,"")!==false)