2016-12-29 84 views
2

在我的Shopify頁面上,我有一大堆產品在描述中有奇怪的字符,我假設這些字符是從CSV導入的。通過每一個手動去除這些字符都是非常麻煩的。是可能的正則表達式嗎?

我有這樣的正則表達式腳本要獲得客戶端擺脫他們:

$(function() { 
    var regex = /\?ÕÌ_|_Œ‚|[ŠŽÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝÞßðÿ_]/gi; 

    $('.rte').html(function(i, oldHTML) { 
     return oldHTML.replace(regex, ' ') 
      .replace(/[^\x00-\x7F]|\?/g, ''); 
    }); 
}); 

但我想移動這樣的服務器端,可能與液體重新創建它。這甚至可能與液體有關嗎?我如何使用這個正則表達式服務器端?

編輯:

我寫這篇哈克代碼

{{ product.description | replace: '?Íí_' | replace: 'Œæ' | replace: 'äó»íˆí_í‚_' | replace: 'í_Œ‚í__' | replace: '̴Ì_' | replace: '?ÕÌ_' | replace: '?í´íë_' | replace: 'Ì_åÇÌ__' | replace: 'åÊ' | replace: '?’«íëí__' | replace: '?í_ŒÇí_í‚_' | replace: 'í«í_' | replace: '?í?í__' | replace: '’Çíë_' | replace: 'íë_í«íˆíë__' | replace: 'íëí__’Çíëíæíëí___' | replace: '’Ç', '' }} 

但這僅適用於如果我知道什麼是特定字符串是我需要更換,而不是從一組字符串像搜索我的JavaScript正則表達式。

回答

3

如果您的產品說明中有奇怪的字符,這些字符源自您的CSV,爲什麼不只是清理CSV,然後重新導入乾淨的說明文字?拯救自己的悲傷。刪除奇怪的字符表示您搞亂了數據的編碼。 UTF-8在這裏是你的朋友。

使用Liquid替換過濾器會適用於您,但這是超級hackey ...最好找到錯誤的來源,並解決該問題。刪除這些字符會有風險,因爲在某些情況下,您可能正在修復某些字詞的顯示,但在其他字詞中仍然可能存在修飾。

請注意,液體替換過濾器是所有你得到與服務器端的工作,這是你的正則表達式選項,即使它遠離通常的正則表達式的能力。

+1

這實際上並沒有回答這個問題。 – Bohemian

+0

是的,但@ByteSettlement可能有一個[XY問題](http://meta.stackexchange.com/a/66378/340590) – ti7

+0

我目前沒有處於該位置或有時間框架來修復csv ,這是我稍後必須解決的一種臨時性解決方案。 – ByteSettlement

相關問題