美好的一天!我正在为一个聊天室的解析器工作,该解析器可以根据谁正在为存档目的进行交谈来为文本着色。我有完美的工作,除了现在管理员希望能够删除“花哨”的名称,并替换为他们的一些普通人更可读的版本。
聊天室允许使用扩展范围的字母和符号,当传输到rtf文件时,可能无法完全转移。
我无法让它发挥作用,并且没有看到任何理由不应该这样做。
这是我所拥有的一个例子:
$nameconvert = array(
"îrúål__Þħōþħ" => "Eriel__Thoth",
);
***Scripting that parses an uploaded text
file line by line, each line places in an
array using space as delimiter... thus
name of person talking is $row_data[0]***
$name = $row_data[0];
$name = $nameconvert[$name];
** Code to throw everything back together **
现在,这只是一个简化的片段,但无论出于何种原因,它都不起作用。现在,如果我做了$ name = $ nameconvert ['îrúål__Þħōþħ']那么它确实有效,告诉我即时放入脚本的名称,以及从mytext文件中提取的名称是两个不同的东西,尽管它们在视觉上是相同的
HELP!
答案 0 :(得分:0)
我找到了答案,并希望与其他人分享我的解决方案。
这是修改后的代码
$nameconvert = array(
"0123456789abcdef" => "Eriel__Thoth",
);
***Scripting that parses an uploaded text
file line by line, each line places in an
array using space as delimiter... thus
name of person talking is $row_data[0]***
$name = $row_data[0]
$name = $nameconvert[bin2hex(mb_convert_encoding($name,"UTF-8"))];
$name = $nameconvert[$name];
** Code to throw everything back together **
命令bin2hex(mb_convert_encoding($ name," UTF-8"))从文件中获取名称,确保它是UTF-8格式,然后创建其十六进制等效项。然后它使用数组中的那个对应一个更容易阅读的名称
它的工作方式与我想要的一样!