0

我在 php 中有一个函数可以创建网络友好的链接。现在我想在 JS 中编写相同的函数,这样我就可以即时制作友好的 url。这是功能:

<?php 
function clearText($s)
{

  $s = trim($s);
  $s = strtr($s, 'ĘÓĄŚŁŻŹŃęóąśłżźćń', 'EOASLZZCNeoaslzzcn');
  $s = preg_replace("/[^0-9a-zA-Z\s]/", "", $s);
  $s = preg_replace("/\s[\s]+/", " ", $s);
  $s = preg_replace("/\s/", "_", $s);
  $s = strtolower($s);


  return $s;
}


function imageReplace($s)
{
  $s = clearText($s);
  $s = substr($s, 0, 64);
  return $s;
}

?>
4

2 回答 2

1

如果您关心正则表达式,那么它们不应该是。Javascript 正则表达式引擎将与 php 一样完成这项工作,只是语法略有不同。例如,在您第一次替换时,而不是:

$s = preg_replace("/[^0-9a-zA-Z\s]/", "", $s);

你将会拥有

s = s.replace(/[^0-9a-zA-Z\s]/, "");
于 2013-03-29T14:46:35.683 回答
0

试试这个:

function clearText(s)
{
  s = trim(s);
  s = strtr(s);   //follow this link http://obvcode.blogspot.in/2008/05/strtr-for-javascript.html
  var re = /[^0-9a-zA-Z\s]/;
  s = s.replace(re,"");
  s = s.replace(/\s[\s]+/, " ");
  s = s.replace(/\s/, "_");
  s = s.toLowerCase();

  return s;

}

function trim(str)
{
    var str2 = str.replace(/^\s+|\s+$/g,'');
    return str2;
}
于 2013-03-29T14:45:48.307 回答