php 替换a和b之间的字符串

我现在只会这么替换
从文章内容中找到“中国电信”,全部换成“中国联通”,我用的是下面的方法

$data = str_replace('中国电信','中国联通',$data);

如果我想换指定的两个字符串之间的内容,或是删掉之间的内容,应该如可写的呢,比如我想删掉下面这几句代码之间的汉字,或是替换成别的汉字,要如何写呢?
例:
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">做个会搭配的女子</a>
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">美国际劳动节</a>
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">联通融</a>
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">不知不觉才是美</a>
上面的几句代码中,前后都一样,就是中间的汉字不同,我想换掉从:<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">开始,到</a>结束中间的汉字,删了也行,代码要如何写呢

$str=<<<EOF
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">做个会搭配的女子</a>
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">美国际劳动节</a>
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">联通融</a>
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">不知不觉才是美</a>
EOF;


    $res= preg_replace('/(<a .*>).*(<\/a>)/iU','$1$2',$str);
    
    var_dump($res);


文件的编码注意哦

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-28

可以使用正则表达式。

$str = <<<EOT
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">做个会搭配的女子</a>
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">美国际劳动节</a>
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">联通融</a>
<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void(0);" id="post-user">不知不觉才是美</a>
EOT;

echo preg_replace('#(<a class="rich_media_meta rich_media_meta_link rich_media_meta_nickname" href="javascript:void\(0\);" id="post-user">).*?(</a>)#', '$1替换成这个$2', $str);

本回答被网友采纳

php如何替换字符串中的指定字符
如果要替换字符串中的单个字符,可以将search参数设置为要替换的字符,replace参数设置为替换后的字符,subject参数设置为原始字符串。例如,将字符串中的“a”替换为“b”:php str = "Hello, world!";newStr = str_replace;echo $newStr; \/\/ 输出 "Hellb, world!";3. ...

php如何替换字符串指定第一处字符
1、首先,打开php编辑器,新建php文件,例如:index.php。2、在index.php中,输入代码:a = "asdf123hjklqwet123yytu";$b=2;echo str_replace('123', '456', $a, $b);3、浏览器运行index.php页面,此时会发现字符串的第2处123被替换为了456。

使用php中strtr()函数中遇到问题,请高手指教。
因为abab中有两个ab,可以理解为a=1;b=2;a=3;b=4 第二组ab将第一组ab覆盖了。所以实际上a=3;b=4 用这两个变量替换第一个参数;就变成了34dddc43

php str replace连续写的一个问题
<?PHP find = array('a', 'b');replace = array('1', '2');var = str_replace($find, $replace, $var);?> 注意:由于 str_replace() 的替换时从左到右依次进行的,进行多重替换的时候可能会替换掉之前插入的值。先找到a替换成1,然后再找到b替换成2 其实效果跟写两句是一样的,只...

如何学习PHP str
str_replace() 函数使用一个字符串('a')替换字符串('b')中的另一些字符。1.另一些字符如何理解;str_replace函数理解2 语法 str_replace(find,replace,string,count)1.str_replace函数参数一find是否为被替换的字符串;2.str_replace函数参数二replace是否为替换的字符串;3.str_replace函数参数三...

PHP编程:$a = $a % $b 和 $a = $a . $b,分别的什么意思?
a = $a % $b 表示先把$a除以$b,然后把除得的余数赋给$a \/\/这时候已经把原先的$a复盖了!a=$a . $b 表示把$a与$b两个字符串连接起来。比如$a='a';$b='b';这时候echo $a . $b;就会显示 "ab"

php 推荐人功能 需求:a,b之间如果有a推荐了b,b就不能推荐a.数据库表...
关系表中字段为 id 和 friendid 如果a推荐了b。那么a的friendid字段的值写入 b 的 id值。(关系表每次推荐则新增一条数据)即:insert into 关系表(id,friendid) values(a的id,b的id);如果b要推荐a。那么select关系表 select * from 关系表 where id = a的id friendid = b的id;...

pb 有什么函数能把字符串abc变成a,b,c
)【替换函数】 将'a'替换成'a,', 'b'被替换成'b,' c不动 楼上从百度知道直接粘贴的 不可信。具体实例:string ls_str,ls_new ls_str ='abc'ls_new = replace(ls_str,1,1,'a,')ls_new = replace(ls_new,3,1,'b,')\/\/ls_new = 'a,b,c'...

php如何判断一个变量里是否有一段文字 如果有的换怎么能替换成另外一...
变量的概念:是一个可以变化的字面量。字符、字符串、数组等都可以作为变量的值!1、判断变量中是否有一段文字。。。很含糊的概念,一段?怎么理解?2、如果如果有的换怎么能替换成另外一段?php字符串函数和数组处理函数很多,处理替换没有任何问题 问题是如何理解你说的一段 ...

php正则(a,b)拿到a和b的值
<?php str='{a "b"}';preg_match('\/\\{(\\w) "(\\w)"\\}\/', $str, $matches);var_dump($matches);

相似回答