如何在AngularJs中用空格替换一些字符

时间:2017-08-30 09:25:04

标签: php angularjs

我需要用连字符( - )替换所有特殊字符,例如(Inka -Tiitto-s-Camp-Aero-Gravity-Milan-9)。但是我收到了这个错误。

=>所提交的网址带有不被接受的字符。 并得到这样的名字(Inka Tiitto&#39营地@Aero Gravity米兰-9)

我已经尝试过这行代码,但没有得到理想的结果。

<a href="<?= BASEURL ?>camp/{{x.name.split('/[\.,-\/#!$%\^&\*;:{}=\-_`~()@\+\?><\[\]\+]/g').join('-')}}-{{x.id}}">{{x.name}}</a>

任何人都可以帮我解决这个问题。 任何帮助将不胜感激。

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以通过编写自定义filter来完成此操作。

angular.module('filters')

.filter('replaceChars', function() {
  return function(value) {
    if(!value) {
      return '';
    }

    return value
      .toString()
      .replace(/[\.,-\/#!$%\^&\*;:{}=\-_`~()@\+\?><\[\]\+]/g, '-');
  };
});

然后在模板中使用它:

<a href="<?= BASEURL ?>camp/{{x.name | replaceChars}}-{{x.id}}">{{x.name}}</a>