替换字符串不起作用

时间:2011-12-08 23:12:25

标签: php xml string replace

我有两个数组,一个包含要替换的字符,另一个包含要替换它们的字符:

$charToReplace = array("é", "è", "ê");
$charReplacements = array("e", "e", "e");

我循环查询结果,当我到达artist_name字段时,我想要替换字符中的字符。我尝试这样做,但这给我一个错误:

$itemrow['artist_name'] = str_replace($charToReplace, $charReplacements, $itemrow['artist_name']);

这是我收到的错误:

此页面包含以下错误:

第9行第29行的

错误:编码错误 下面是第一个错误的页面呈现。

这是php生成的xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<artists>
<artist>
    <id>855</id>
    <name>Have Heart</name>
    <picture>http://userserve-ak.last.fm/serve/126/29086375.jpg</picture>
    <twitter></twitter>
</artist>
<artist>
    <id>856</id>
    <name>Carpathian</name>
    <picture>http://userserve-ak.last.fm/serve/126/50284337.jpg</picture>
    <twitter></twitter>
</artist>
<artist>
    <id>857</id>
    <name>Deftones</name>
    <picture>http://userserve-ak.last.fm/serve/126/2203330.jpg</picture>
    <twitter></twitter>
</artist>
<artist>
    <id>858</id>
    <name>Converge</name>
    <picture>http://userserve-ak.last.fm/serve/126/29640629.jpg</picture>
    <twitter></twitter>
</artist>
<artist>
    <id>859</id>
    <name>Touchrtist>
    <id>878</id>
    <name>True Colors</name>
    <picture>http://userserve-ak.last.fm/serve/126/46942947.jpg</picture>
    <twitter></twitter>
</artist>

第一个是正确的,但最后一个是正确的。它应该说Touché,但不知怎的,它会在一段时间后中断并继续。

1 个答案:

答案 0 :(得分:1)

该错误由浏览器输出,而不是由PHP输出。这可能意味着您告诉浏览器将网站解释为严格的XHTML并且您的XML中存在错误,因此浏览器会停止解析它。这并没有说明你所展示的PHP代码。