php 正则 ereg_replace替换

 更新时间:2016年11月25日 15:10  点击:1457

ereg_replace -- 正则表达式替换(php教程 3, php 4, php 5)

string ereg_replace ( string pattern, string replacement, string string )

本函数在 string 中扫描与 pattern 匹配的部分,并将其替换为 replacement。

返回替换后的字符串。(如果没有可供替换的匹配项则会返回原字符串。)


<?php
$string = "this is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "1was", $string);
echo ereg_replace("(( )is)", "2was", $string);
?>

输出如下:
that was a test
that was a test
that was a test


<td class='title'>热卖oou限量版双人浴巾</td>
整个替换为空,还是将
<td class='title'>热卖oou限量版双人浴巾</td>
替换成
<td class='title'></td>

第一种

echo preg_replace('/(<td[^<>]+title[^<>]+>)[^<>]*(</td>)/i', '', $html);


第二种:

echo preg_replace('/(<td[^<>]+title[^<>]+>)[^<>]*(</td>)/i', '$1$2', $html);


首先这个正则表达式匹配 类似格式:
<td*title*>*</td>,这里每个星号*代表的是多个任意字符,相当于每个*对应正则里的[^<>]+,为了匹配准确,这里任意字符里不包含'<','>'.
对于第二种里的替换字符串$1和$2,分别为正则表达式里对应的两组()内匹配的值.这种形式正则里叫 子模式匹配.$1和$2叫反向匹配的结果.

这里$1匹配的结果是<td class='title'>,$2匹配的结果是</td>

字符串比较有很多种最基本就是利用==判断是否相等,还有利用strcmp来比较字符串函数的大小。下面举了几个实例详细说明了字符串对比。

简单字符串比较operator (==) 就成了。
*/

$str1 = "test";
$str2 = "test";
if ($str1 == "test")  echo "ok-1";  
if ($str1 == $str2)   echo "ok-2";

/*
字符串大于或小于比较,利用了strcmp函数操作,它返回<0如果str1小于str2的> 0,如果str1大于str2的,和0
*/

$str1 = "test";  
$str2 = "test";  
$str3 = "apple";  
$str4 = "zebra";   
if (strcmp($str1,$str2) == 0) echo "ok";  
if (strcmp($str1,"test") == 0) echo "ok";  
if (strcmp($str1,$str3) > 0) echo "$str1 > $str3";  
if (strcmp($str1,$str4) < 0) echo "$str1 < $str4";


/*
*/

$str1 = "test";  
$str2 = "  test     ";   
if ($str1 == $str2) echo "ok-1";  
if ($str1 == trim($str2)) echo "ok-2";  
if (strcmp($str1,$str2) == 0) echo "ok-3";  
if (strcmp($str1,trim($str2)) == 0) echo "ok-4";

文章简单利用foreach for list each while来遍历数组,包括普通的一维数组与二维数组遍历方法,下面详细的介绍了每个函数的使用方法。
*/

$foreach = array(1,2,3);
$array2 = array(array('aa'=>33,'bb'=>22,'www.111cn.net'=>11),array('dd'=>44,'ee'=>55,'ff'=>66));

//利用for foreach遍历一维数据

for( $i=0;$i<count($foreach);$i++)
{
 echo 'foreach['.$i.']='.$foreach[$i].'<br>';
}
/*
foreach[0]=1
foreach[1]=2
foreach[2]=3

再看利用foreach来遍历
*/

foreach( $foreach as $v )
{
 echo 'foreach='.$v.'<br>';
}
/*
foreach=1
foreach=2
foreach=3

上面用的都是遍历一维数据,下面来看二维数组
*/

foreach($array2 as $key=>$value)
{
 foreach($value as $k=>$v)
 {
  echo '$arr['.$key.']['.$k.']='.$v;
 }
 echo "<br>";
}


/*//看一下list each
each() 函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。

返回的数组中包括的四个元素:键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。

如果内部指针越过了数组范围,本函数将返回 false。

语法
each(array)参数 描述
array 必需。规定要使用的数组。


list函数

list() 函数用数组中的元素为一组变量赋值。

注意,与 array() 类似,list() 实际上是一种语言结构,不是函数。

语法
list(var1,var2...)参数 描述
var1 必需。第一个需要赋值的变量。
var2 可选。可以有多个变量。
提示和注释
注释:该函数只用于数字索引的数组,且假定数字索引从 0 开始


*/

$colors = array('red','blue','green','yellow');
 
while(list($key,$val) = each($colors)) {
    echo "other list of $val.<br />";
}

/*
other list of red.
other list of blue.
other list of green.
other list of yellow.
for 语句
如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。

语法
for (initialization; condition; increment)
{
  code to be executed;
}
注释:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。

 

foreach 语句用于循环遍历数组。

每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推

*/

删除记录是php与数据库常见的基本操作,下面我们主要是介绍php mysql删除数据库中的一条记录方法。
 代码如下 复制代码
echo '<a href="www.111cn.net.php?id=你要删除记录"onclick="网页特效:return   confirm("是否真的要删除当前记录?")">删除</a>'


当然你也可以利用下面方法实例删除

 代码如下 复制代码
<script language='javascript'>
function del(id){
    if (false === confirm('是否真的要删除当前记录?') )return;
    location.href = 'delete.php?id=' + id;
}
</script>

这里只要修改你的数据库教程连接用户名密码,与数据库名称以及数据表名就可以了。

<?php
    $conn = mysql教程_connect("localhost","root","8588027");
    mysql_select_db("test");
    $exec="delete from content where id='{$_get['id']}'";
    mysql_query($exec);
    mysql_close();
    echo "<script language='javascript'>location.href='code.php';</script>";
?>

这里主要是rsort krsort函数,他是对键名进行反序排序了,如果要数组元素值排序用sort就成了,array_multisort这个是对多维数组排序。
*/
$array = array(array('www.111cn.net',6,8),array(1,2,6));
print_r($array);
/*
array
(
    [0] => array
        (
            [0] => www.111cn.net
            [1] => 6
            [2] => 8
        )

    [1] => array
        (
            [0] => 1
            [1] => 2
            [2] => 6
        )

)
*/
array_multisort($array) ;//对二维数组进行排序
print_r($array);
/*
array
(
    [0] => array
        (
            [0] => www.111cn.net
            [1] => 6
            [2] => 8
        )

    [1] => array
        (
            [0] => 1
            [1] => 2
            [2] => 6
        )

)
*/

$ar = array('111cn.net',2,3,5);
rsort($ar);
print_r($ar);
/*
array
(
    [0] => 5
    [1] => 3
    [2] => 2
    [3] => 111cn.net
)
*/

krsort($ar);
print_r($ar);
/*
array
(
    [3] => 111cn.net
    [2] => 2
    [1] => 3
    [0] => 5
)*/

[!--infotagslink--]

相关文章

  • 一个关于JS正则匹配的踩坑记录

    这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)

    本文实例讲述了jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)。分享给大家供大家参考,具体如下:这里介绍的jQuery拉动页面固定顶部显示,及自动消失效果,可能ie浏览器下有问题,不过火狐什么的都可以运行看效果...2015-10-30
  • JS基于正则截取替换特定字符之间字符串操作示例

    这篇文章主要介绍了JS基于正则截取替换特定字符之间字符串操作方法,结合具体实例形式分析了JS基于正则实现针对特殊字符、数字等字符串类型的截取操作相关技巧,需要的朋友可以参考下...2017-02-08
  • 用golang如何替换某个文件中的字符串

    这篇文章主要介绍了用golang实现替换某个文件中的字符串操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-25
  • Idea使用正则表达式批量替换字符串的方法

    这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-07-21
  • js replace(a,b)之替换字符串中所有指定字符的方法

    下面小编就为大家带来一篇js replace(a,b)之替换字符串中所有指定字符的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-08-24
  • js正则学习小记之匹配字符串字面量

    关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写个语法高亮练手,所以用js代码当作例子...2021-05-07
  • C#使用正则表达式过滤html标签

    最近在开发一个项目,其中有需求要求我们把一段html转换为一般文本返回,使用正则表达式是明智的选择,下面小编给介绍下C#使用正则表达式过滤html标签,需要的朋友参考下...2020-06-25
  • js 正则学习小记之匹配字符串字面量优化篇

    昨天在《js 正则学习小记之匹配字符串字面量》谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的...2021-05-07
  • 浅谈JS正则RegExp对象

    这篇文章主要介绍JS正则RegExp对象,正则表达式是描述字符模式的对象,用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。下面就来看具体详情,需要的朋友可以参考一下...2021-10-21
  • OpenResty中正则模式匹配的2种方法详解

    在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 Nginx 的规范,下面这篇文章主要给大家介绍了关于OpenResty中正则模式匹配的2种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。...2020-06-30
  • Opencv实现绿幕视频背景替换功能

    这篇文章主要为大家详细介绍了Opencv实现绿幕视频背景替换功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
  • jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)

    本文实例讲述了jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)。分享给大家供大家参考,具体如下:这里介绍的jQuery拉动页面固定顶部显示,及自动消失效果,可能ie浏览器下有问题,不过火狐什么的都可以运行看效果...2015-10-30
  • 字符串替换Replace仅替换第一个字符串匹配项

    C#里面的String.Replace(string,string)方法替换的时候是替换所有的匹配项,我们需要只替换第一个匹配项,写一个方法来实现这个功能...2020-06-25
  • 浅谈js正则之test方法bug篇

    其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西...2021-05-07
  • C++ string替换指定字符实例代码

    这篇文章主要给大家介绍了关于C++ string替换指定字符的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-04-25
  • JS利用正则配合replace替换指定字符

    替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下...2021-05-07
  • Spring-AOP 静态正则表达式方法如何匹配切面

    这篇文章主要介绍了Spring-AOP 静态正则表达式方法如何匹配切面的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-19
  • php 批量替换程序的具体实现代码

    代码如下:复制代码 代码如下:<?php/***************************************************************************batch-replace, v1.1*************************************************************************...2013-10-04