亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在PHP中替換Microsoft編碼的引號

如何在PHP中替換Microsoft編碼的引號

PHP
森林海 2019-08-01 16:13:35
如何在PHP中替換Microsoft編碼的引號“ ” ‘ ’由于我的應用程序中存在編碼問題,我需要用常規引號('和“)替換Microsoft Word的單引號和雙引號()的版本。我不需要它們是HTML實體,我不能更改我的數據庫模式。我有兩個選擇:使用正則表達式或關聯數組。有一個更好的方法嗎?
查看完整描述

3 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

我找到了這個問題的答案。你需要使用iconv()php中的函數只需一行代碼:

// replace Microsoft Word version of single  and double quotations marks (“ ” ‘ ’) with  regular quotes (' and ")$output = iconv('UTF-8', 'ASCII//TRANSLIT', $input);


查看完整回答
反對 回復 2019-08-01
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

您的Microsoft編碼引號可能是印刷引號str_replace如果您知道要替換它們的字符串的編碼,則可以簡單地替換它們。

這是UTF-8的示例,但使用單個映射數組strtr

$quotes = array(
    "\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);$str = strtr($str, $quotes);

如果您需要其他編碼,可以使用mb_convert_encoding轉換鍵。


查看完整回答
反對 回復 2019-08-01
  • 3 回答
  • 0 關注
  • 493 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號