Формат строки для SEO - PullRequest
       45

Формат строки для SEO

0 голосов
/ 26 февраля 2020

У меня есть строка, подобная

Deser't  - & Fest !

, как отформатировать эту строку, поэтому она выглядит как Desert-Fest.

В php Я использую вышеуказанную функцию

function cleanString($str, $separator = "-"){
    $q_separator = preg_quote($separator);

    $trans = array(
        '&.+?;'                 => '',
        '[^a-z0-9 _-]'          => '',
        '\s+'                   => $separator,
        '('.$q_separator.')+'   => $separator
    );

    $str = strip_tags($str);

    foreach ($trans as $key => $val){
        $str = preg_replace("#".$key."#i", $val, $str);
    }

    $str = strtolower($str);

    return trim($str, $separator);
}

Как это сделать в Jquery?

Спасибо.

1 Ответ

2 голосов
/ 26 февраля 2020

Половина вашего решения состоит в том, чтобы HTML -кодировать сущности во входных данных. Это можно сделать в JS как this или jQuery like this .

Оттуда вы можете использовать регулярное выражение для удаления любых символов из результирующая строка, которая вам не нужна, например:

function htmlDecode(input) {
  var e = document.createElement('textarea');
  e.innerHTML = input;
  return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}

let input = "Deser't  - & Fest !";
let output = htmlDecode(input);
output = output.replace(/[^a-z-]/gi, ''); // remove anything that isn't a-Z or -
console.log(output);
...