SEO友好的字符串格式



我有一个类似的字符串

Deser't  - & Fest !

如何格式化此字符串与Desert-Fest一样对seo友好。

在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中做到这一点?

谢谢。

解决方案的一半是对输入中的实体进行HTML解码。这可以在JS中完成,也可以在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);

最新更新