Converting Microsoft Word special characters with PHP(使用 PHP 转换 Microsoft Word 特殊字符)
问题描述
我正在尝试转换用户粘贴的包含 MS Word 省略号和长破折号的 Word 文本,然后再进一步处理.
I am trying to convert Word text pasted by users that contain MS Word ellipsis and long dash before processing it further.
我在这里找到了一个旧的建议解决方案http://www.codingforums.com/archive/index.php/t-47163.html ,但它对我不起作用.例如,替换省略号后,变量返回为空.以前从未见过这样的事情:
I found an old proposed solution here to the problem http://www.codingforums.com/archive/index.php/t-47163.html , but it does not work for me. After replacing the ellipsis for example , the variable comes back as empty. Never seen anything like this before:
$src = "TG9uZyB3b3JkIGRhc2gg4oCTIGFuZCB3ZWlyZCBXb3JkIGVsbGlwc2lz4oCm";
$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 函数效果更好.
For anyone getting the diamond question mark in PHP, this method of replacing UTF-8 characters worked better than using the chr function.
$search = [ // www.fileformat.info/info/unicode/<NUM>/ <NUM> = 2018
"xC2xAB", // « (U+00AB) in UTF-8
"xC2xBB", // » (U+00BB) in UTF-8
"xE2x80x98", // ‘ (U+2018) in UTF-8
"xE2x80x99", // ’ (U+2019) in UTF-8
"xE2x80x9A", // ‚ (U+201A) in UTF-8
"xE2x80x9B", // ‛ (U+201B) in UTF-8
"xE2x80x9C", // " (U+201C) in UTF-8
"xE2x80x9D", // " (U+201D) in UTF-8
"xE2x80x9E", // „ (U+201E) in UTF-8
"xE2x80x9F", // ‟ (U+201F) in UTF-8
"xE2x80xB9", // ‹ (U+2039) in UTF-8
"xE2x80xBA", // › (U+203A) in UTF-8
"xE2x80x93", // – (U+2013) in UTF-8
"xE2x80x94", // — (U+2014) in UTF-8
"xE2x80xA6" // … (U+2026) in UTF-8
];
$replacements = [
"<<",
">>",
"'",
"'",
"'",
"'",
'"',
'"',
'"',
'"',
"<",
">",
"-",
"-",
"..."
];
str_replace($search, $replacements, $string);
这篇关于使用 PHP 转换 Microsoft Word 特殊字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 PHP 转换 Microsoft Word 特殊字符


- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- PHP - if 语句中的倒序 2021-01-01
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- PHP foreach() 与数组中的数组? 2022-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01