草庐IT

preg_replace_callback

全部标签

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 - str_replace() 与关联数组

您可以使用带有str_replace()的数组:$array_from=array('from1','from2');$array_to=array('to1','to2');$text=str_replace($array_from,$array_to,$text);但是如果你有关联数组呢?$array_from_to=array('from1'=>'to1';'from2'=>'to2';);如何将它与str_replace()一起使用?速度很重要——阵列足够大。 最佳答案 $text=strtr($text,$array_fr

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)

php - 使用 preg_match 在 PHP 中解析 A​​pache 日志

我需要将数据保存在表中(用于报告、统计等...),以便用户可以按时间、用户代理等进行搜索。我有一个每天运行的脚本,用于读取Apache日志,然后将其插入在数据库中。日志格式:10.1.1.150--[29/September/2011:14:21:49-0400]"GET/info/HTTP/1.1"2009955"http://www.domain.com/download/""Mozilla/5.0(Macintosh;U;IntelMacOSX10_6_8;de-at)AppleWebKit/533.21.1(KHTML,likeGecko)Version/5.0.5Safari

php - PHP preg_functions 多字节安全吗?

PHP中没有可用的多字节“preg”函数,那么这是否意味着默认的preg_functions都是mb安全的?在php文档中找不到任何提及。 最佳答案 pcre开箱即用地支持utf8,请参阅“u”修饰符的文档。说明(\xC3\xA4是德语字母“ä”的utf8编码)echopreg_replace('~\w~','@',"a\xC3\xA4b");这与“@@¤@”相呼应,因为“\xC3”和“\xA4”被视为不同的符号echopreg_replace('~\w~u','@',"a\xC3\xA4b");(注意'u')打印“@@@”,因为“

php 只允许使用 preg_match 的字母、数字、空格和特定符号

在我的php上,我使用preg_match来验证输入文本。if(preg_match('/^[a-zA-Z0-9]+$/',$firstname)){}但这只允许字母数字,不允许空格。我想允许空格、字母和数字。和句点(.)和破折号(-)请帮帮我好吗?提前致谢。 最佳答案 使用preg_match('/^[a-z0-9.\-]+$/i',$firstname) 关于php只允许使用preg_match的字母、数字、空格和特定符号,我们在StackOverflow上找到一个类似的问题:

php - PHP 中的 preg_match 和 UTF-8

我正在尝试使用preg_match搜索UTF8编码的字符串.preg_match('/H/u',"\xC2\xA1Hola!",$a_matches,PREG_OFFSET_CAPTURE);echo$a_matches[0][1];这应该打印1,因为“H”在字符串“¡Hola!”中的索引1处。但它打印2。所以它似乎没有将主题视为UTF8编码的字符串,即使我传递了“u”modifier。在正则表达式中。我的php.ini中有以下设置,并且其他UTF8函数正在运行:mbstring.func_overload=7mbstring.language=Neutralmbstring.inte