Question

J'ai obtenu le code suivant pour cette question: Quel est le meilleur moyen de nettoyer une chaîne pour la placer dans une URL, comme le nom de la question sur le responsable de l'offre?

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

Ce code fonctionne pour moi avec PHP, il rend les URL propres et SEO'd en une seule ligne, mais je souhaite utiliser le même script dans mon application ASP.NET (C #). Mais je ne sais pas quel sera le code pour cette ligne en C #. Est-ce que n'importe qui peut convertir ce code PHP en fonction C #?

Merci

Était-ce utile?

La solution

Pour simplifier les choses, il est probablement plus simple de le faire avec deux appels de remplacement de regex, bien que vous puissiez le réécrire en utilisant la surcharge Remplacer avec MatchEvaluator. (ce serait un peu hacky).

using System.Text.RegularExpressions;

// ...

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

L’espoir que cela aide.

Autres conseils

Il se peut que je manque quelque chose à cause du manque de sommeil .. mais vous ne pourriez pas simplement faire ceci:

var myUrl = HttpUtility.UrlEncode(UrlToEncode);

Pour encoder en pointillé ...

var myUrl = HttpUtility.EncodeUrl(UrlToEncode.Replace(" ", "-"));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top