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 に答える