芸科技_付费阅读_技术方案_企业源码_商业源码_资源素材
2023-08-22 17:44:23

PHP获取字符串中字符、字符串第n次出现的位置

目录

PHP获取字符串中字符、字符串第n次出现的位置

因为经常需要取网页源码后,获取字符串中的部分文本,无奈正则不太会,写出的表达式经常取不到想要的内容,就自己写了个函数,基本上可以取到想要的文本。

img

一、实现函数

/*

*取字符串中间文本

* @paramstring$str需要处理的字符串

* @paramstring $start_str 目标字符串‘前’的字符

* @paramstring $stop_str  目标字符串‘后’的字符

* @paramint $count     需要查找的次数

* @paramint $n   从第n个位置开始查找

* @returnarray$data返回查找满足条件要求的数组字符串

*/

function  get_msg($str,$start_str,$stop_str,$count,$n){

  $start=$n;  //从第n个位置开始查找

  $data=array();

  for($i=0;$i<$count;$i++){ $start=strpos($str,$start_str,$start); $stop=strpos($str,$stop_str,$start); $start=strlen($start_str)+$start; $data[$i]= substr($str,$start,$stop-$start); $start=$stop; } return $data; }

二、实现例子

返回结果

Array ( [0] => 这是一个字 ) 

Array ( [0] => 依然 [1] => 依然 [2] => )

虽然第二个字符串$strb中有三个‘依然’字符,但是只有二个满足传进函数的条件,所有就只会找到二个满足条件的。

当然这只是简单的例子,更复杂的那些字符串也可以,只需要传入相应条件就行。

三、查找字符、字符串第n次出现的位置

这个可以配合上面的函数使用,具体看需求

/*查找字符、字符串第n次出现的位置

*@param string $str    原始字符串

*@param string $find需要查找的字符、字符串

*@param int    $n第几次出现的字符、字符串

*@return int   $count返回第n次出现的位置

*/

function str_n_pos($str,$find,$n){

        for ($i=1;$i<=$n;$i++){ $pos = strpos($str,$find); $str = substr($str,$pos+1); $pos_val=$pos+$pos_val+1; } $count = $pos_val-1; return $count; }


算芸网络科技

算芸网络科技

算芸网络科技

算芸网络科技

算芸网络科技

扫码免登录支付
本文章为付费文章,是否支付5元后完整阅读?

如果您已购买过该文章,[登录帐号]后即可查看



温馨提示:

1、本内容转载于网络,版权归原作者所有!
2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!
上一篇:Docker部署开源流媒体软件Jellyfin
下一篇:ESXI 7.0.2 Intel 核心显卡直通开启3D加速