Как конвертировать этот PHP-скрипт в C #? - PullRequest
0 голосов
/ 01 мая 2009

Я получил следующий код из этого вопроса: Каков наилучший способ очистки строки для размещения в URL, например, имени вопроса в SO?

$str = strtolower( 
  preg_replace( array('/[^a-z0-9\- ]/i', '/[ \-]+/'), array('', '-'), 
  $urlPart ) );

Этот код работает для меня с PHP, он делает чистый и SEO-URL в одной строке, но я хочу использовать тот же скрипт в моем приложении ASP.NET (C #). Но не знаю, какой будет код для этой строки в C #. Может кто-нибудь, пожалуйста, преобразуйте этот код PHP в функцию C #.

Спасибо

Ответы [ 2 ]

1 голос
/ 01 мая 2009

Для простоты, вероятно, проще всего сделать это с двумя вызовами замены regex, хотя вы могли бы переписать его в один, используя перегрузку Replace с MatchEvaluator (это было бы немного странно ).

using System.Text.RegularExpressions;

// ...

var str = Regex.Replace(Regex.Replace(urlPart, @"[^a-z0-9\- ]/i", ""), @"[ \-]+", "-").ToLower();

Надеюсь, это поможет.

0 голосов
/ 01 мая 2009

Я могу что-то упустить из-за недостатка сна ... но не могли бы вы просто сделать это:

var myUrl = HttpUtility.UrlEncode(UrlToEncode);

Чтобы сделать кодировку тире ...

var myUrl = HttpUtility.EncodeUrl(UrlToEncode.Replace(" ", "-"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...