如何创建一个函数将字符串转换为小写并用短划线替换所有空格?
示例:
如果输入为“Hello World”,则输出应为“hello-world”。
如果输入为“MerhabaDünya”,则输出应为“merhaba-dunya”。
这是我到目前为止所尝试过的。
<input name="Title" type="text" class="form-control" placeholder="Title">
<input name="TitleSeo" type="text" class="form-control" placeholder="Title">
function create_seo_url($baslik = "") {
$TR = array('ç', 'Ç', 'ı', 'İ', 'ş', 'Ş', 'ğ', 'Ğ', 'ö', 'Ö', 'ü', 'Ü');
$EN = array('c', 'c', 'i', 'i', 's', 's', 'g', 'g', 'o', 'o', 'u', 'u');
$baslik = str_replace($TR, $EN, $baslik);
$baslik = mb_strtolower($baslik, 'UTF-8');
$baslik = preg_replace('#[^-a-zA-Z0-9_ ]#', '', $baslik);
$baslik = trim($baslik);
$baslik = preg_replace('#[-_ ]+#', '-', $baslik);
return $baslik;
}
答案 0 :(得分:2)
您可以在@ humble.rumble代码上使用此代码:
function transformCharacters(text) {
return String(text)
.replace(/ç/gi, 'c')
.replace(/[ıİ]/gi, 'i')
.replace(/[ş]/gi, 's')
.replace(/[ğ]/gi, 'g')
.replace(/[ö]/gi, 'o')
.replace(/[ş]/gi, 's')
.replace(/[ü]/gi, 'u')
.replace(/[ü]/gi, 'u')
.replace(/[-_ ]/g, '-')
.replace(/[^-a-zA-Z0-9_ ]/g, '')
.toLowerCase();
}
答案 1 :(得分:1)
选择每个输入。
将onkeyup处理程序分配给第一个输入,该输入使用String.toLowerCase().replace(/ /g,'-');
使单词为小写,并用短划线替换空格。
然后将新值应用于第二个输入
var title = document.querySelector('input[name="Title"]');
var titleSeo = document.querySelector('input[name="TitleSeo"]');
title.onkeyup = function() {
titleSeo.value = this.value.toLowerCase().replace(/ /g, '-');
}
&#13;
<form action="" method="post" id="myForm">
<input name="Title" type="text" class="form-control" placeholder="Title">
<input name="TitleSeo" type="text" class="form-control" placeholder="Title">
<input type="submit" value="Submit">
</form>
&#13;