【问题标题】:Format String for SEO friendly对 SEO 友好的格式化字符串
【发布时间】:2020-02-26 11:41:46
【问题描述】:

我有一个类似的字符串

Deser't  - & Fest !

如何格式化这个字符串是 seo 友好的,比如 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 中做到这一点?

谢谢。

【问题讨论】:

  • SEOfriendly by JQ ! ,奇怪

标签: javascript jquery format-string


【解决方案1】:

您的解决方案有一半是对输入中的实体进行 HTML 解码。这可以在 this 之类的 JS 或 this 之类的 jQuery 中完成。

从那里您可以使用正则表达式从结果字符串中删除您不想要的任何字符,如下所示:

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 1970-01-01
    • 2011-03-06
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多