• 技术文章 >php教程 >PHP源码

    php ereg_replace函数基础与实例代码

    2016-06-08 17:26:42原创543

    //string ereg_replace ( string $pattern , string $replacement , string $string )
    /*
    修改后的字符串返回。如果没有找到匹配的字符串,那么将返回不变
    */

    //实例

    代码如下 复制代码
    $string = "this 111cn.net a test";
    echo str_replace(" 111cn.net", " was", $string);
    echo ereg_replace("( )111cn.net", "\1was", $string);
    echo ereg_replace("(( )111cn.net)", "\2was", $string);

    /*
    有一点要注意的是,如果你使用一个整数参数值作为替代,您可能不会得到你期望的结果。这是因为ereg_replace()将解释为一个字符值序数,并套用。例如
    */

    代码如下 复制代码

    $num = 4;
    $string = "this string has four words.";
    $string = ereg_replace('four', $num, $string);
    echo $string; /* output: 'this string has words.' */

    /* this will work. */
    $num = '4';
    $string = "this string has four words.";
    $string = ereg_replace('four', $num, $string);
    echo $string; /* output: 'this string has 4 words.' */

    //来看一个用ereg_replace获取连接代码

    代码如下 复制代码
    $text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
    "\0", $text);


    //取字符串中一部份

    代码如下 复制代码
    $output = ereg_replace("your regexp here", "\0", $input) ;
    print $output;

    //再来看一个更复杂的实例

    代码如下 复制代码
    function strip_urls($text, $reppat)
    {
    if(!$reppat){
    $reppat = "text [url]";
    }
    $aimps教程tr = 'php教程_strip_urls_function_by_real-php-geek';
    //change $aimps教程tr to anything you want.
    $impstr = md5($aimpstr);
    $text = str_replace('', '' . $impstr, $text);
    $text = explode($impstr, $text);
    $n = 0;
    $texta = array();
    $reppat = str_ireplace(array('text', 'url'), array('\4', '\2'), $reppat);
    foreach ($text as $text) {
    $texta[$n] = ereg_replace("(.*)", $reppat, $text);
    $n++;
    }
    $textb = implode("", $texta);
    return $textb;
    }

    //examples:

    代码如下 复制代码
    $string_of_text = 'php rocks. 网页制作教程教程 also!';
    echo strip_urls($string_of_text, "text");
    echo strip_urls($string_of_text, "url");
    echo strip_urls($string_of_text, "text [url]");
    echo strip_urls($string_of_text, null);

    /*
    说明:
    在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。

    replacement 可以包含 \n 形式或(自 php 4.0.4 起)$n 形式的逆向引用,首选使用后者。每个此种引用将被替换为与第 n 个被捕获的括号内的子模式所匹配的文本。n 可以从 0 到 99,其中 \0 或 $0 指的是被整个模式所匹配的文本。对左圆括号从左到右计数(从 1 开始)以取得子模式的数目。

    对替换模式在一个逆向引用后面紧接着一个数字时(即:紧接在一个匹配的模式后面的数字),不能使用熟悉的 \1 符号来表示逆向引用。举例说 \11,将会使 preg_replace() 搞不清楚是想要一个 \1 的逆向引用后面跟着一个数字 1 还是一个 \11 的逆向引用。本例中的解决方法是使用 ${1}1。这会形成一个隔离的 $1 逆向引用,而使另一个 1 只是单纯的文字。

    */

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp quot string text replace
    上一篇:php url地址栏传中文值乱码问题与解决方法 下一篇:php把所有页面都指一个域名301永久转向代码
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php 切取图片代码• PHP读取文本文件并逐行输出该行使用最多的字符串及对应次数• PHP一个敏感信息过滤思路• PHP汉字转换拼音• php使用curl代理实现抓取数据的方法_php技巧
    1/1

    PHP中文网