一个char字符串后面的一个char,一个substr strpos优雅的解决方案
发布时间:2020-12-13 14:00:11 所属栏目:PHP教程 来源:网络整理
导读:假设我想要返回所有的字符后一些针char’x’从: $source_str =“Tuex helo宝贝”. 通常我会这样做: if( ($x_pos = strpos($source_str,'x')) !== FALSE ) $source_str = substr($source_str,$x_pos + 1); 你知道一个更好/更聪明(更优雅的方式)这样做吗?
假设我想要返回所有的字符后一些针char’x’从:
$source_str =“Tuex helo宝贝”. 通常我会这样做: 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中的-1). 谢谢,
你的第一个方法很好:检查x是否包含在strpos中,如果是,则使用substr获取任何内容.
但您也可以使用 strstr($str,'x') 但是,由于这返回以x开头的子字符串,所以使用substr来获取x之后的部分: if (($tmp = strstr($str,'x')) !== false) { $str = substr($tmp,1); } 但这更复杂.所以使用你的strpos方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |