PHP获取一个字符串中间一部分字符的方法

这是一个获取字符串中两个子串之间的子串,如从字符串www.jb51.net中获取coderbolg子串,就让这个PHP函数来实现吧,代码如下:

代码如下:

function get_between($input, $start, $end) {

$substr = substr($input, strlen($start)+strpos($input, $start),

(strlen($input) - strpos($input, $end))*(-1));

return $substr;

}

$string = "www.jb51.net";

$start = "www.";

$end = ".net";

echo get_between($string, $start, $end);  // output:coderbolg

不过这个函数有个局限,就是$start子串和$end子串在整个串中只能出现一次。请看下面的例子:

代码如下:

$string = "http://www.jb51.net/";

$start = "http://";

$end = "/";

很明显我想获取这个标准URL的域名部分,由于$end子串在整个串中不是唯一的,所以就会出现问题,请使用时务必注意!

(0)

相关推荐

  • PHP 第二节 数据类型之字符串类型

    PHP中一个字符串可以通过下面的4种方式来定义: 单引号 双引号 heredoc 语法结构 nowdoc 语法结构 (自PHP 5.3.0以后) 单引号 定义一个字符串 的最简单的方法是用单引号把它包围起来 (标点符号 '). 如果想要输出一个单引号,需在它的前面加个反斜线 (\).在单引号前或在字符串的结尾处 想要输出反斜线,输入两条 (\\).注意,如果在任何其它的字符前加了反斜线,反斜线将会被直接输出. Note: 不像双引号 和heredoc语法结构, 在单引号字符串中的变量 和特殊含义

  • php中将字符串转为HTML的实体引用的一个类

    复制代码 代码如下: class HtmlEncode {         static $_convertToHtmlEntitiesSrcEncoding='UTF-8'; /**         * 将非ASCII字符串转换成HTML实体         *         * @example HtmlEncode::encode("我信了"); //输出:我信了         * @param string $s 要进行编码的字符串         * @return st

  • php实现的替换敏感字符串类实例

    本文实例讲述了php实现的替换敏感字符串类及其用法,在php程序开发中有着非常广泛的应用价值.分享给大家供大家参考.具体方法如下: StrFilter.class.php类文件如下: <?php /** string filter class * Date: 2013-01-09 * Author: fdipzone * Ver: v1.0 * * Func: * public replace 替换非法字符 * public check 检查是否含有非法字符 * private protect_

  • php实现根据字符串生成对应数组的方法

    本文实例讲述了php实现根据字符串生成对应数组的方法,是比较实用的技巧.分享给大家供大家参考.具体方法如下: 先看看如下示例: <?php $config = array( 'project|page|index' => 'content', 'project|page|nav' => array( array( 'image' => '1.jpg', 'name' => 'home' ), array( 'image' => '2.jpg', 'name' =>

  • PHP数字和字符串ID互转函数(类似优酷ID)

    不知道你注意了没有,类似优酷.腾讯视频等其他视频链接似乎类似这样的 复制代码 代码如下: http://v.youku.com/v_show/id_XNjA5MjE5OTM2.html 注意id_xxx那段,是不是看不懂了,但你无可否认这个就是id,这不国外的一位牛人早在09年就写了针对PHP/Python/Javascript/Java/SQL的生成方法,可见我现在是多么的落伍,下面我把代码贴出来,希望分享精神永存. 复制代码 代码如下: <?php /**   * @author   Kev

  • PHP处理Json字符串解码返回NULL的解决方法

    本文实例讲述了PHP处理Json字符串解码返回NULL的解决方法.分享给大家供大家参考之用.具体方法如下: 一般来说,php对json字符串解码使用json_decode()函数,第一个参数传字符串,第二个参数若为true,返回array:若为false,返回object.如果返回NULL,说明报错,输出json_last_error(),得到的整数值对应错误提示.如下图所示: json_last_error()比较常见的是整数4, 是json字符串在json_decode之前已不完整,所以语法

  • PHP mb_convert_encoding 获取字符串编码类型实现代码

    后来又在手册上找到了is_utf8函数,这样,再结合iconv函数,我的问题就解决了.下面帖出这个函数: 复制代码 代码如下: function is_utf8($string) { return preg_match('%^(?: [\x09\x0A\x0D\x20-\x7E] # ASCII | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs | [

  • 生成随机字符串和验证码的类的PHP实例

    网上有很多的php随机数与验证码的代码与文章,真正适用的没有几个. 索性自己搞一个吧. 开始本节的php教程 吧,以下代码的实现,主要做到可以很好区分一个get_code(),另一个create_check_image(),输出图像直接调用后面的,session()取验证码时直接get_code()就ok,顺带提下使用session时必须将session_star()放在最前面. 代码如下: 复制代码 代码如下: <?phpclass RandCheckCode{        /*函数名称:g

  • php中的Base62类(适用于数值转字符串)

    Base62类源码: 复制代码 代码如下: class Base62 { private $string = "vPh7zZwA2LyU4bGq5tcVfIMxJi6XaSoK9CNp0OWljYTHQ8REnmu31BrdgeDkFs"; public function base62_encode($str) {        $out = '';         for($t=floor(log10($str)/log10(62)); $t>=0; $t--) {      

  • PHP处理JSON字符串key缺少双引号的解决方法

    本文实例讲述了PHP处理JSON字符串key缺少引号的解决方法,分享给大家供大家参考之用.具体方法如下: 通常来说,JSON字符串是key:value形式的字符串,正常key是由双引号括起来的. 例如: <?php $data = array('name'=>'fdipzone'); echo json_encode($data); // {"name":"fdipzone"} print_r(json_decode(json_encode($data)

随机推荐