如何在输入中使用js运行“str_replace”函数?

时间:2015-06-12 22:32:00

标签: javascript php html ajax html5

如何创建一个函数将字符串转换为小写并用短划线替换所有空格?

示例:

如果输入为“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;
}

2 个答案:

答案 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,'-');使单词为小写,并用短划线替换空格。

然后将新值应用于第二个输入

&#13;
&#13;
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;
&#13;
&#13;