Come convertire questo script PHP in C #?
Domanda
Ho ottenuto il seguente codice da questa domanda: Qual è il modo migliore per pulire una stringa per il posizionamento in un URL, come il nome della domanda su SO?
$str = strtolower(
preg_replace( array('/[^a-z0-9\- ]/i', '/[ \-]+/'), array('', '-'),
$urlPart ) );
Questo codice funziona per me con PHP, sta rendendo pulito e l'URL SEO in una sola riga, ma voglio usare lo stesso script nella mia applicazione ASP.NET (C #). Ma non so quale sarà il codice per questa riga in C #. Qualcuno può convertire questo codice PHP in funzione C #.
Grazie
Soluzione
Per semplificare, è probabilmente più semplice farlo con due regex sostituisci le chiamate, anche se potresti riscriverlo in uno usando il sovraccarico Sostituisci
con MatchEvaluator
(sarebbe un po 'confuso).
using System.Text.RegularExpressions;
// ...
var str = Regex.Replace(Regex.Replace(urlPart, @"[^a-z0-9\- ]/i", ""), @"[ \-]+", "-").ToLower();
Spero che sia d'aiuto.
Altri suggerimenti
Potrei mancare qualcosa a causa della mancanza di sonno .. ma non potresti semplicemente farlo:
var myUrl = HttpUtility.UrlEncode(UrlToEncode);
Per eseguire la codifica trattino ...
var myUrl = HttpUtility.EncodeUrl(UrlToEncode.Replace(" ", "-"));