php str_replace 引号,php-在str_replace上使用双引号

本文介绍了一个关于PHP中使用str_replace函数进行字符串替换的问题实例。通过调整字符串构造方式及结合htmlspecialchars函数,解决了含有特殊字符的字符串替换难题。
摘要由CSDN通过智能技术生成

标签:php

我正在尝试使用str_replace更改我的代码:

$changeli = "li id=\"head{$raiz}\" class=\"head\"";

$changeli2 = "li id=\"foot{$raiz}\" class=\"foot\"";

echo $changeli; // result li id="head-all" class="head"

echo $changeli2; // result li id="foot-all" class="foot"

$footer = str_replace($changeli, $changeli2, $footer );

它不起作用,但是当我删除双引号之前的文本时,它的工作原理如下:

$changeli = "head{$raiz}";

$changeli2 = "foot{$raiz}";

echo $changeli; // result head-all

echo $changeli2; // result foot-all

$footer = str_replace($changeli, $changeli2, $footer );

有人能帮我吗?

解决方法:

更好的是,尝试使用’代替“作为外引号,这样您就不必完全转义.并将$raiz与字符串连接起来.问题很可能是应该在html中转义的字符.

$changeli = 'li id="head'.$raiz.'" class="head"';

$changeli2 = 'li id="foot'.$raiz.'" class="foot"';

// value of $raiz is "-all" at this point (for clarity of code)

echo $changeli; // result should be li id="head-all" class="head"

echo $changeli2; // result should be li id="foot-all" class="foot"

$footer = htmlspecialchars_decode(str_replace(htmlspecialchars($changeli), htmlspecialchars($changeli2), htmlspecialchars($footer)));

标签:php

来源: https://codeday.me/bug/20191118/2030618.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值