PHP截取指定字符串中间的字符
:PHP如何截取指定字符串中间的字符,比如如何截取如下字符串中 [sell=55] 的 55这个数字。
$q = "秘qwqqq111密:[sell=55]0qwqw[/sell] 位置:[sell=55]0qwqw[/sell] 上面的付费查看";
:第一种,可以使用正则,即如何获取正则匹配到的结果,我们可以用 preg_match_all — 执行一个全局正则表达式匹配,来处理,代码如下
$q = "秘qwqqq111密:[sell=55]0qwqw[/sell] 位置:[sell=55]0qwqw[/sell] 上面的付费查看"; /** * 获取正则匹配结果的方法 * @param [type] $reg 正则表达式 * @param [type] $str 需要操作的字符串 * @return [type] 返回一个数组结果 */ function get_match_all($reg,$str){ preg_match_all($reg,$str,$r); return @$r[1]; } $c = get_match_all("/\[sell=(.+?)\]/", $q); echo '<pre>'; var_dump($c);
:返回的结果如下
:第二种,我们可以用字符串操作方法,先通过 strpos — 查找字符串首次出现的位置,然后使用 substr — 返回字符串的子串,代码如下
$q = "秘qwqqq111密:[sell=55]0qwqw[/sell] 位置:[sell=55]0qwqw[/sell] 上面的付费查看"; $a = substr($q,strpos($q,'[sell=')+6); $cost = substr($a,0,strpos($a,']')); echo '<pre>'; var_dump($cost);
:最后打印结果如下
-----END
影子是一个会撒谎的精灵,它在虚空中流浪和等待被发现之间;在存在与不存在之间....