webForumDet fria alternativet

Ta bort ej fungerande tecken i fil

.NET

2 svar · 515 visningar · startad av thevice

Medlem sedan dec. 2005198 inlägg
Frågan#1

Hejsan,
Jag använder mig utan URLRewrite och skulle behöva hjälp med att ta bort de tecken som inte får finnas med i ett filnamn.
Min idé var att göra en replace på alla tecken som inte får finnas med men det kan ju vara hur många tecken som hellst. Så kan man göra på något vis så att man tar bort alla tecken förutom a-z 0-9 och bindestreck?

Jag har tråd titeln i mitt forum som filnamn därför jag vill ta bort alla tecken som inte går för man vet aldrig vad användaren får för sig att skriva i tråd titeln.

En annan sak, jag använder mig utav TinyMCE och märkte nu att om man avaktiverar javascript så är kommer textboxen fram och man kan skriva vilka koder man vill. Finns det något smidigt sätt för att göra så att inte alla koder fungerar? Självklart så ska jag köra med ServerHTMLEncode när inlägget skrivs ut men jag kan inte komma på hur jag ska göra i min RegExp för att kunna godkänna de saker som finns. Till en länk så kan man ju t.ex ändra både färg, href osv. Och det är ju inte svårare för användaren att bara lägga in en javascript kod i onclick eller liknande.
Någon som sitter inne på en idé på hur man kan lösa det här?

Hoppas ni förstår vad jag menar,
Timmie

Medlem sedan dec. 2005198 inlägg
#2

Det med filnamnet löste jag med:
URL = Regex.Replace(URL, @"[^a-z\d\-]+", "", RegexOptions.IgnoreCase);

Sedan för att kunna lösa TinyMCE problemet så skulle jag kunna ta bort allt som jag inte tillåter som finns inom < & >. Hur skulle man kunna lösa det?

Medlem sedan dec. 2005198 inlägg
#3

Jag har fortfarande inte kunnat få det att fungera som jag vill.
Min tanke var att köra HTMLEncode och sedan göra de html taggar som jag vill ska kunna fungera fungera. Men det fungerar ej, om jag t.ex kör denna kod:
<p style="color: #FFF">massa annat</p>
så skrivs det ut:
<p style="color: #FF">massa annat</p>

Min kod:

public static string RegexProfile(string strMessage)
{
strMessage = System.Web.HttpContext.Current.Server.HtmlEncode(strMessage);
strMessage = strMessage.Replace(System.Environment.NewLine, "<br />");
strMessage = strMessage.Replace(" ", "<br />");
strMessage = strMessage.Trim();
strMessage = Regex.Replace(strMessage, "<(/?(p|strong|em|u|br|ul|li|ol|b|i|span|font|div|strike).*)>", "<$1>", RegexOptions.IgnoreCase | RegexOptions.Multiline);
strMessage = strMessage.Replace(""", "\"");

return strMessage;

}

1069 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
936 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
936 ms — ändringar (db)