草庐IT

preg-quote

全部标签

PHP html解码帮助-转换: A &#039;quote&#039; is <b>bold</b>

我需要像这样转换一个字符串:A'quote'isbold进入:A'quote'isboldhtml_entity_decode()无效。 最佳答案 确保使用正确的quote_style:html_entity_decode('A'quote'isbold',ENT_QUOTES);ENT_QUOTES将转换双引号和单引号。(PHPManual:html_entity_decode) 关于PHPhtml解码帮助-转换:A'quote

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

php - preg_match() vs strpos() 用于匹配查找?

对于单值检查,两者中哪一个是首选,为什么?$string=='Thequickbrownfoxjumpsoverthelazydog';if(strpos($string,'fox')!==false){//dotheroutine}#versusif(preg_match('/fox/i',$string)){//dotheroutine} 最佳答案 我更喜欢strpos而不是preg_match,因为正则表达式的执行成本通常更高。根据preg_match的官方php文档:Donotusepreg_match()ifyouonly

PHP 使用 preg_replace : "Delimiter must not be alphanumeric or backslash" error

我正在尝试像这样获取一串文本:$string="This(1)is(2)my(3)example(4)text";在括号内有正整数的每个实例中,我想用整数本身替换它。我现在使用的代码是:$result=preg_replace("\((\d+)\)","$0",$string);但我不断得到一个Delimitermustnotbealphanumericorbackslash.警告有什么想法吗?我知道这里还有其他问题可以回答问题,但我对正则表达式的了解不足以将其切换到此示例。 最佳答案 你快到了。您正在使用:$result=preg

php - 不间断的 utf-8 0xc2a0 空间和 preg_replace 奇怪的行为

在我的字符串中,我有utf-8不间断空格(0xc2a0),我想用其他内容替换它。当我使用$str=preg_replace('~\xc2\xa0~','X',$str);它工作正常。但是当我使用$str=preg_replace('~\x{C2A0}~siu','W',$str);未找到(并替换)不间断空格。为什么?第二个正则表达式有什么问题?格式\x{C2A0}是正确的,我也使用了u标志。 最佳答案 实际上关于PHP中转义序列的文档是错误的。当您使用\xc2\xa0语法时,它会搜索UTF-8字符。但是使用\x{c2a0}语法,它会

PHP is_numeric 或 preg_match 0-9 验证

这对我来说不是什么大问题(据我所知),这更像是我感兴趣的事情。但是,使用is_numeric而不是preg_match(反之亦然)来验证用户输入值的主要区别是什么?示例一:示例二:我假设两者的作用完全相同,但是否有任何特定差异可能会在以后以某种方式导致问题?有没有“最好的方法”或我没有看到的东西让它们与众不同。 最佳答案 is_numeric()测试值是否为数字。但它不一定必须是整数-它可以是十进制数或科学记数法中的数字。您给出的preg_match()示例仅检查值是否包含数字0到9;任意数量,任意顺序。请注意,您给出的正则表达式也

PHP preg_match() 和 preg_match_all() 函数

preg_match()是做什么的和preg_match_all()函数的作用以及如何使用它们? 最佳答案 preg_match停止查看第一个匹配项。另一方面,preg_match_all会继续查找,直到处理完整个字符串。找到匹配后,它会使用字符串的其余部分来尝试应用另一个匹配。http://php.net/manual/en/function.preg-match-all.php 关于PHPpreg_match()和preg_match_all()函数,我们在StackOverflow