php 字符替换

如何将php 字符串里面的字符 "> 替换换成 "/> 即在分号和左尖括号之间加一个斜杠
我的写法是 str_replace("\">","\"/>",$str);
可是写法不正确
是这样的我的字符串是从别的地方获得的本身里面就有双引号比如这样的
echo $str 输出的是:<IMG src="http://127.0.0.1/test/images/201007011277967022.png">;
这个字符串不是在页面定义的,而是从其他地方获得的,所以sunyundonged你的方法我试了,无效
lin_chaoqi 你的答案好我的要去不相符,因为我的str是一个图片标签,但是结尾是">少了一个/ 所以页面输出的时候不认为这是一个图片,我才需要在">之间加一个/,不知道说明白了没有

str_replace('">','"/>',$str);

这样写就行了, php中的单引号 和 双引号 用处很多,

单引号中的字符串不会被\转义,双引号会.
单引号可以包含双引号,双引号亦可包含单引号,挺有意思的

PS:

$str=<<<EOT
<FONT color=#ffff80>测试你好</FONT><IMG src="http://127.0.0.1/test/images/201007011277969162.jpg"><FONT style="FONT-SIZE: 18px">沙发沙发上沙发沙发沙发</FONT>
EOT;
//以上<<<EOT 与 EOT;之间声名了一段字符串,这是一种字符串声名方式,特别对于存在 双引号 和单引号 比较多的字符串有效.
echo preg_replace("/<img([^>]*)>/i","<img$1/>",$str);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-16
str_replace('">','"/>',$str);如些则行。
php中的单引号 和 双引号 用处很多,
单引号中的字符串不会被\转义,双引号会.
单引号可以包含双引号,双引号亦可包含单引号
PS:
$str=<<<EOT
<FONT color=#ffff80>测试你好</FONT><IMG src="http://127.0.0.1/test/images/后盾网.jpg"><FONT style="FONT-SIZE: 18px">沙发沙发上沙发沙发沙发</FONT>
EOT;
//以上<<<EOT 与 EOT;之间声名了一段字符串,这是一种字符串声名方式,特别对于存在 双引号 和单引号 比较多的字符串有效.
echo preg_replace("/<img([^>]*)>/i","<img$1/>",$str);
下面是例子和参考文献(http://houdunwang.com/lesson.html):
在php中字符替换函数有几个如有:str_replace、substr_replace、preg_replace、preg_split、str_split等函数。
str_replace(find,replace,string,count)
作用:str_replace() 函数使用一个字符串替换字符串中的另一些字符。
参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。
例:在本例中,演示带有数组和 count 变量的 str_replace() 函数:代码如下
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "Replacements: $i";
?>输出:
Array
(
[0] => blue
[1] => pink
[2] => green
[3] => yellow
)
Replacements: 1
补充:count如果被指定,它的值将被设置为替换发生的次数。
第2个回答  2010-07-01
$str= "<item>";
$str = str_replace('>','/>',$str);
echo $str;