php要想匹配
.....
 <add name="RoomFriendContext" providerName="System.Data.SqlClient" connectionString="Data Source=192.168.1.11;Initial Catalog=Raa;Persist Security Info=True;User ID=sa;Password=wwwww;MAX Pool Size=2000;Min Pool Size=3;Connection Lifetime=30;Pooling=true;charset=utf8;"/>
.....此处省略诺干相同格式的行。这一行里面关键字是providerName="System.Data.SqlClient" ,然后去除掉charset=utf8;这段,正则怎么搞的?
想得到的最后结果是
<add name="RoomFriendContext" providerName="System.Data.SqlClient" connectionString="Data Source=192.168.1.11;Initial Catalog=Raa;Persist Security Info=True;User ID=sa;Password=wwwww;MAX Pool Size=2000;Min Pool Size=3;Connection Lifetime=30;Pooling=true;"/>

解决方案 »

  1.   

    $s=<<<html
    <add name="RoomFriendContext" providerName="System.Data.SqlClient" connectionString="Data Source=192.168.1.11;Initial Catalog=Raa;Persist Security Info=True;User ID=sa;Password=wwwww;MAX Pool Size=2000;Min Pool Size=3;Connection Lifetime=30;Pooling=true;charset=utf8;"/>
    <add name="RoomFriendContext" providerName="aaaaa" connectionString="Data Source=192.168.1.11;Initial Catalog=Raa;Persist Security Info=True;User ID=sa;Password=wwwww;MAX Pool Size=2000;Min Pool Size=3;Connection Lifetime=30;Pooling=true;charset=utf8;"/>
    html;
    echo preg_replace('/(<add[^>]*providerName="System\.Data\.SqlClient"[^>]*)charset=utf8;([^>]*>)/is','$1$2',$s);
      

  2.   

    eregi是被抛弃的函数。不要沉迷在老版本的php中。
      

  3.   

     preg_replace('/(<add[^>]*providerName="System\.Data\.SqlClient"[^>]*)charset=utf8;([^>]*>)/is','$1$2',$s);