Как заменить все обычные express из файла точными совпадающими выражениями? - PullRequest
0 голосов
/ 30 марта 2020

Я хочу заменить все регулярные выражения из файла. Когда я конвертирую файл html в файл .liquid. Он преобразует весь код в специальные символы. Как избежать использования специальных символов. И как я могу удалить все специальные символы из файла с точным. Файл слишком длинный. Существует много специальных символов почти каждого типа. Я хочу заменить все на точные. Код ниже:

const fs = require('fs');
const script = `<div>Test</div>`

  fs.readFile('product.html', 'utf8', (err, data) => {
    if (err) {
      throw err;
    }

    data = data.replace(/<html>/g, " ").replace(/<head>/g, " ").replace(/<body>/g, " ")
    data = data.replace(/<\/head>/g, " ").replace(/<\/html>/g, " ").replace(/<\/body>/g, " ")


    fs.writeFile("product.liquid", data, function (err) {
      if (err) {
        return console.log(err);
      }
      console.log("The file was saved!");
    });

  });
})

Файл для чтения:

  {% endcomment %}
  {%- assign current_variant = product.selected_or_first_available_variant -%}
  {%- assign product_image_zoom_size = '1024x1024' -%}
  {%- assign product_image_scale = '2' -%}
  {%- assign enable_image_zoom = section.settings.enable_image_zoom -%}
  {%- assign compare_at_price = current_variant.compare_at_price -%}
  {%- assign price = current_variant.price -%}

{
  "name": {
    "da": "Produktsider",
    "de": "Produktseiten",
    "en": "Product pages",
    "es": "Páginas de productos",
    "fi": "Tuotesivut",
    "fr": "Pages de produits",
    "hi": "उत्पाद पेज",
    "it": "Pagine di prodotto",
    "ja": "商品ページ",
    "ko": "제품 페이지",
    "nb": "Produktsider",
    "nl": "Productpagina's",
    "pt-BR": "Páginas de produtos",
    "pt-PT": "Páginas de produtos",
    "sv": "Produktsidor",
    "th": "หน้าสินค้า",
    "zh-CN": "产品页面",
    "zh-TW": "產品頁面"
  }
}


Вывод:

  {%&#45; assign current_variant = product.selected_or_first_available_variant &#45;%}
  {%&#45; assign product_image_zoom_size = &amp;apos;1024x1024&amp;apos; &#45;%}
  {%&#45; assign product_image_scale = &amp;apos;2&amp;apos; &#45;%}
  {%&#45; assign enable_image_zoom = section.settings.enable_image_zoom &#45;%}
  {%&#45; assign compare_at_price = current_variant.compare_at_price &#45;%}
  {%&#45; assign price = current_variant.price &#45;%}

{
  &amp;quot;name&amp;quot;: {
    &amp;quot;da&amp;quot;: &amp;quot;Produktsider&amp;quot;&sbquo;
    &amp;quot;de&amp;quot;: &amp;quot;Produktseiten&amp;quot;&sbquo;
    &amp;quot;en&amp;quot;: &amp;quot;Product pages&amp;quot;&sbquo;
    &amp;quot;es&amp;quot;: &amp;quot;P&amp;&#35;xE1;ginas de productos&amp;quot;&sbquo;
    &amp;quot;fi&amp;quot;: &amp;quot;Tuotesivut&amp;quot;&sbquo;
    &amp;quot;fr&amp;quot;: &amp;quot;Pages de produits&amp;quot;&sbquo;
    &amp;quot;hi&amp;quot;: &amp;quot;&amp;&#35;x909;&amp;&#35;x924;&amp;&#35;x94D;&amp;&#35;x92A;&amp;&#35;x93E;&amp;&#35;x926; &amp;&#35;x92A;&amp;&#35;x947;&amp;&#35;x91C;&amp;quot;&sbquo;
    &amp;quot;it&amp;quot;: &amp;quot;Pagine di prodotto&amp;quot;&sbquo;
    &amp;quot;ja&amp;quot;: &amp;quot;&amp;&#35;x5546;&amp;&#35;x54C1;&amp;&#35;x30DA;&amp;&#35;x30FC;&amp;&#35;x30B8;&amp;quot;&sbquo;
    &amp;quot;ko&amp;quot;: &amp;quot;&amp;&#35;xC81C;&amp;&#35;xD488; &amp;&#35;xD398;&amp;&#35;xC774;&amp;&#35;xC9C0;&amp;quot;&sbquo;
    &amp;quot;nb&amp;quot;: &amp;quot;Produktsider&amp;quot;&sbquo;
    &amp;quot;nl&amp;quot;: &amp;quot;Productpagina&amp;apos;s&amp;quot;&sbquo;
    &amp;quot;pt&#45;BR&amp;quot;: &amp;quot;P&amp;&#35;xE1;ginas de produtos&amp;quot;&sbquo;
    &amp;quot;pt&#45;PT&amp;quot;: &amp;quot;P&amp;&#35;xE1;ginas de produtos&amp;quot;&sbquo;
    &amp;quot;sv&amp;quot;: &amp;quot;Produktsidor&amp;quot;&sbquo;
    &amp;quot;th&amp;quot;: &amp;quot;&amp;&#35;xE2B;&amp;&#35;xE19;&amp;&#35;xE49;&amp;&#35;xE32;&amp;&#35;xE2A;&amp;&#35;xE34;&amp;&#35;xE19;&amp;&#35;xE04;&amp;&#35;xE49;&amp;&#35;xE32;&amp;quot;&sbquo;
    &amp;quot;zh&#45;CN&amp;quot;: &amp;quot;&amp;&#35;x4EA7;&amp;&#35;x54C1;&amp;&#35;x9875;&amp;&#35;x9762;&amp;quot;&sbquo;
    &amp;quot;zh&#45;TW&amp;quot;: &amp;quot;&amp;&#35;x7522;&amp;&#35;x54C1;&amp;&#35;x9801;&amp;&#35;x9762;&amp;quot;
  }&sbquo;

Как проверить все регулярные выражения и заменить все

...