str_replace两次

时间:2012-08-06 15:02:56

标签: php cakephp

我有一个问题。

我有这段代码

<?php
echo str_replace("CDAS","","2/CDAS2/CDAS");
?>

输出

2/2/

我如何制作它只删除“CDAS”,就像记事本中的“匹配整个单词”选项一样?

谢谢!

3 个答案:

答案 0 :(得分:4)

使用正则表达式并指定单词边界:

echo preg_replace('/\bCDAS\b/', '', '2/CDAS2/CDAS');

Here's a demo.

答案 1 :(得分:0)

使用preg_replace:

preg_replace('/CDAS$/', '', "2/CDAS2/CDAS")

类似的东西。

当然,因为我实际上不知道你想要什么输出,我无法确定这是正确的答案。

答案 2 :(得分:0)

不确定如何完全回答这个,因为你所描述的确实做了什么,但我猜你只想删除第二个CDAS项目? 有很多方法可以对猫进行换肤,但也许灵活的方法是使用explode运算符将字符串分隔成带有'/'符号的组件,然后您可以使用while循环或其他方式替换任何匹配的CDAS项目和什么时候退出。

http://php.net/manual/en/function.explode.php

最后将组件重新组合成一个带有implode的字符串,或者只是连接数组项。