gpt4 book ai didi

php - 使用 PHP 转换 Microsoft Word 特殊字符

转载 作者:IT王子 更新时间:2023-10-29 00:14:28 24 4
gpt4 key购买 nike

在进一步处理之前,我正在尝试转换用户粘贴的包含 MS Word 省略号和长破折号的 Word 文本。

我在这里找到了一个针对问题 http://www.codingforums.com/archive/index.php/t-47163.html 的旧建议解决方案,但这对我不起作用。例如,替换省略号后,变量返回为空。以前从未见过这样的东西:

$src = "Long word dash – and weird Word ellipsis…";
$src = str_replace("‘", "'", $src);
$src = str_replace("’", "'", $src);
$src = str_replace("”", '"', $src);
$src = str_replace("“", '"', $src);
$src = str_replace("–", "-", $src);
$src = str_replace("…", "...", $src);
print $src;

有什么想法吗?

最佳答案

对于任何在 PHP 中获得菱形问号的人来说,这种替换 UTF-8 字符的方法比使用 chr 函数效果更好。

$search = [                 // www.fileformat.info/info/unicode/<NUM>/ <NUM> = 2018
"\xC2\xAB", // « (U+00AB) in UTF-8
"\xC2\xBB", // » (U+00BB) in UTF-8
"\xE2\x80\x98", // ‘ (U+2018) in UTF-8
"\xE2\x80\x99", // ’ (U+2019) in UTF-8
"\xE2\x80\x9A", // ‚ (U+201A) in UTF-8
"\xE2\x80\x9B", // ‛ (U+201B) in UTF-8
"\xE2\x80\x9C", // “ (U+201C) in UTF-8
"\xE2\x80\x9D", // ” (U+201D) in UTF-8
"\xE2\x80\x9E", // „ (U+201E) in UTF-8
"\xE2\x80\x9F", // ‟ (U+201F) in UTF-8
"\xE2\x80\xB9", // ‹ (U+2039) in UTF-8
"\xE2\x80\xBA", // › (U+203A) in UTF-8
"\xE2\x80\x93", // – (U+2013) in UTF-8
"\xE2\x80\x94", // — (U+2014) in UTF-8
"\xE2\x80\xA6" // … (U+2026) in UTF-8
];

$replacements = [
"<<",
">>",
"'",
"'",
"'",
"'",
'"',
'"',
'"',
'"',
"<",
">",
"-",
"-",
"..."
];

str_replace($search, $replacements, $string);

关于php - 使用 PHP 转换 Microsoft Word 特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7419302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com