草庐IT

iconv_strpos

全部标签

PHP substr 在某个char之后,substr + strpos的优雅解决方案?

假设我想返回一些needlechar'x'之后的所有字符,来自:$source_str="Tuexhelobabe".通常我会这样做:if(($x_pos=strpos($source_str,'x'))!==FALSE)$source_str=substr($source_str,$x_pos+1);你知道更好/更聪明(更优雅的方式)来做到这一点吗?不使用正则表达式不会使它更优雅,也可能更慢。很遗憾我们不能这样做:$source_str=substr(source_str,strpos(source_str,'x')+1);因为当'x'未找到时strpos返回FALSE(而不是像JS

php - strpos 是在大量文本中搜索字符串的最快方法吗?

if(strpos(htmlentities($storage->getMessage($i)),'chocolate'))您好,我正在使用gmailoauth访问来查找电子邮件地址中的特定文本字符串。有没有比在上面的代码中使用strpos更快更有效地查找文本实例的方法?我应该使用哈希技术吗? 最佳答案 根据PHP手册,是的-strpos()是确定一个字符串是否包含另一个字符串的最快方法。Note:Ifyouonlywanttodetermineifaparticularneedleoccurswithinhaystack,uset

php - strpos 是在大量文本中搜索字符串的最快方法吗?

if(strpos(htmlentities($storage->getMessage($i)),'chocolate'))您好,我正在使用gmailoauth访问来查找电子邮件地址中的特定文本字符串。有没有比在上面的代码中使用strpos更快更有效地查找文本实例的方法?我应该使用哈希技术吗? 最佳答案 根据PHP手册,是的-strpos()是确定一个字符串是否包含另一个字符串的最快方法。Note:Ifyouonlywanttodetermineifaparticularneedleoccurswithinhaystack,uset

php - PHP函数iconv_strlen、mb_strlen和strlen有什么区别?

iconv_strlen、mb_strlen和strlen函数有什么区别?它们在现实世界中的用途是什么? 最佳答案 strlen()与mb_strlen()的区别在于,后者支持多字节字符。这意味着,这是真实的字符数。第一个假定字符串始终为ascii,这也意味着它始终以字节为单位返回大小(在处理二进制“字符串”时非常有用)。据我所知,iconv_strlen()与mb_strlen()非常相似,但与mb_strlen()相比,它在错误的字符序列上失败,那只是忽略了它们。它使用iconv-library(显然;))。

php - PHP函数iconv_strlen、mb_strlen和strlen有什么区别?

iconv_strlen、mb_strlen和strlen函数有什么区别?它们在现实世界中的用途是什么? 最佳答案 strlen()与mb_strlen()的区别在于,后者支持多字节字符。这意味着,这是真实的字符数。第一个假定字符串始终为ascii,这也意味着它始终以字节为单位返回大小(在处理二进制“字符串”时非常有用)。据我所知,iconv_strlen()与mb_strlen()非常相似,但与mb_strlen()相比,它在错误的字符序列上失败,那只是忽略了它们。它使用iconv-library(显然;))。

php - 在 strpos() 的字符串中使用正则表达式

我想让脚本搜索$open_email_msg,不同的电子邮件会有不同的信息,但格式相同,如下所示。我并没有真正使用正则表达式,但我想做的是每当我用它来搜索字符串时它会搜索“标题:[标题数据]”,“类别:[类别数据]。我问是因为我不认为是这样的strpos($open_email_msg,"Title:(*^)");甚至可以工作。这只是整个代码的一小段,其余代码将信息插入MySQL表,然后发布到网站上的新闻文章中。有人可以帮我找到解决办法吗?严格的电子邮件格式:NewsUpdateTitle:ArticleTitleTags:tag1tag2Categories:ArticleCateg

php - 在 strpos() 的字符串中使用正则表达式

我想让脚本搜索$open_email_msg,不同的电子邮件会有不同的信息,但格式相同,如下所示。我并没有真正使用正则表达式,但我想做的是每当我用它来搜索字符串时它会搜索“标题:[标题数据]”,“类别:[类别数据]。我问是因为我不认为是这样的strpos($open_email_msg,"Title:(*^)");甚至可以工作。这只是整个代码的一小段,其余代码将信息插入MySQL表,然后发布到网站上的新闻文章中。有人可以帮我找到解决办法吗?严格的电子邮件格式:NewsUpdateTitle:ArticleTitleTags:tag1tag2Categories:ArticleCateg

php - 为什么 mb_strpos() 比 strpos() 慢得多?

我批评过ananswer在查找子字符串偏移量时建议使用preg_match而不是===以避免类型不匹配。然而,后来答案的作者发现preg_match实际上比多字节操作mb_strpos显着快。普通strpos比这两个函数都快,但当然不能处理多字节字符串。我知道mb_strpos需要比strpos做更多。但是,如果正则表达式可以几乎和strpos一样快,那么mb_strpos到底是为了什么而花费这么多时间呢?我强烈怀疑这是一个优化错误。例如,PHP扩展是否会比其native函数慢?mb_strpos($str,"颜色",0,"GBK"):15.988190889(89%)preg_mat

php - 为什么 mb_strpos() 比 strpos() 慢得多?

我批评过ananswer在查找子字符串偏移量时建议使用preg_match而不是===以避免类型不匹配。然而,后来答案的作者发现preg_match实际上比多字节操作mb_strpos显着快。普通strpos比这两个函数都快,但当然不能处理多字节字符串。我知道mb_strpos需要比strpos做更多。但是,如果正则表达式可以几乎和strpos一样快,那么mb_strpos到底是为了什么而花费这么多时间呢?我强烈怀疑这是一个优化错误。例如,PHP扩展是否会比其native函数慢?mb_strpos($str,"颜色",0,"GBK"):15.988190889(89%)preg_mat

php - 如何使用 strpos 确定输入字符串中是否存在字符串?

$filename='my_upgrade(1).zip';$match='my_upgrade';if(!strpos($filename,$match)){die();}else{//proceed}在上面的代码中,当文件名不包含文本字符串“my_upgrade”时,我试图退出脚本。但是,在给出的示例中,它不应该死掉,因为“my_upgrade(1).zip”包含字符串“my_upgrade”。我错过了什么? 最佳答案 strpos如果未找到该字符串,则返回false,如果在开头找到,则返回0。使用identityoperato