Php 如何将百分比字符替换为html符号?
我尝试将百分比登录字符串替换为html“Php 如何将百分比字符替换为html符号?,php,str-replace,Php,Str Replace,我尝试将百分比登录字符串替换为html“%;”。 我正在使用str_替换: $string = 'test10%'; str_replace('%', '%', $string); 但结果是&#37 如果您的文本是“%;”,并且您正在使用XMLWriter编写它,那么它将确保您的文本正确地表示为XML,并相应地将其编码为&#37。这是文本“%;”的正确XML表示形式 您试图做的是将已经编码的XML写入XML,为此您需要使用XMLWriter::w
%;
”。
我正在使用str_替换:
$string = 'test10%';
str_replace('%', '%', $string);
但结果是
&#37
如果您的文本是“%;”,并且您正在使用XMLWriter
编写它,那么它将确保您的文本正确地表示为XML,并相应地将其编码为&#37
。这是文本“%;”的正确XML表示形式
您试图做的是将已经编码的XML写入XML,为此您需要使用XMLWriter::writeRaw
。但是,您需要确保传递给XMLWriter::writeRaw
的所有文本都已正确地进行了XML编码,因为这允许您随意中断XML语法。看
。。。Web服务提供商要求获得的百分比为和#37代码>
FWIW,这是一个非常愚蠢的要求,并指出他们这边有一个坏掉的XML解析器。不得不说。您是不是稍后用HTML编码这个结果,也许。。。?这里的代码肯定不会产生和&代码>。我将其发送给XMLWriterWell,“%;”用XML表示的是“&&;#37”,所以一切都很好。问题似乎出在xmlwriter中,但Web服务提供商要求获得百分比%这是我尝试用html引用替换原始符号的方法。也许我在错误的地方做的?但是如果我将%
放入xmlwriter,它将作为%
而不是&37
发送。。。我已将str_replace移到xmlwriter->outputMemory()之后,现在一切正常:)