Hej jag loopar igenom en textsträng och letar upp antalet img taggar med nedstående kod. JAg får ut antalet i variabeln i. Ja jag vill först räkna hur många bilder det finns i html strängen. Kan du förklara hur scenariot ser ut? Vad är det för html? Hur får du tag i den från början? jo jag hämtar en sträng på vanligt vis från en mssql. Får jag fråga varför du har en massa HTML sparad i databasen, och som du sedan visar i en label? Hur ser html-koden ut? Varför sparas bilderna som HTML? Det förstår jag, jag tänkte snarare på hur du sparar ned HTML-koden. Är det bara bilder som finns med, eller har du annat runtomkring? Går det inte att lösa det genom att t.ex. ha fält i databasen för bildens sökväg, eventuell text samt eventuellt annan information, och sedan generera HTML-koden utifrån denna information? nja. Hej, Om du använder denna... förstår inte hur pattern fungerar har googlat men hittar bara tillämpningar för att validera epost adresser..ersätta namn i sträng.
Jag skulle vilja döpa om img taggarna till unika namn med hjälp av Regex men får inte riktigt till det
typ nåt sånt här lblContent.Text = Regex.Replace(lblContent.Text, "img", "img" + Convert.toString(i));
string attrakna = "img";
int i = 0;
int iPos = lblContent.Text.IndexOf(attrakna);
while (iPos != -1)
{
i++;
// lblContent.Text = lblContent.Text.Substring(iPos + 1);
// iPos = lblContent.Text.IndexOf(attrakna);
}
Sv:ersätta namn i sträng.
Det har jag gjort.
Nu tänkte jag lägga ett unikt namn på var och ett av dem img1 img2 och när det är gjort ska jag manipulera bilderna lite och sedan "döper" jag tillbaks dem till bara img så att det blir vanlig html av det.
Trassligt men det är det smidigaste jag kommit på.Sv: ersätta namn i sträng.
Sv:ersätta namn i sträng.
Den strängen innehåller en htmlsida som man visar i en Label.
Vad jag vill göra är att lägga thickbox på alla bilder.
Det fungerar bra med en bild men när det är fler så faller det, alla bilder ersätts av den första bilden som hittas.
Jag måste alltså på något vis först gå igenom strängen och indexera bilderna så jag vet vilken bild jag håller på med för tillfället.
Min tanke var först att jag skulle ha nån "img->next" men hittade inget sånt i c#
så nu är iden att loopa igenom och döpa om bilderna till img[i].
Då kan jag lätt hitta bildernas attribut som width height src.
Tror att denna slingan kan fungera med regex.replace på något sätt
string attrakna = "img";
int i = 0;
int iPos = lblContent.Text.IndexOf(attrakna);
while (iPos != -1)
{
i++;
lblContent.Text = lblContent.Text.Substring(iPos + 1);
// lblContent.Text = Regex.Replace(xxxxxxx, "img", "img" + Convert.toString(i));
iPos = lblContent.Text.IndexOf(attrakna);
}
Sv: ersätta namn i sträng.
Sv: ersätta namn i sträng.
Sv:ersätta namn i sträng.
Bilderna ligger alla på samma ställe så sökvägarna är samma. använder fck editorn så den sparar allt automatiskt.
Det är svårt att mixtra med raw datat det är enklare att ordna till det när man hämtarSv: ersätta namn i sträng.
Okej då förstår jag. Kan du inte sköta det med javascript innan du postar? Om du använder jQuery så skulle det kunna se ut i stil med:
var i = 0;
$('#idFörFck img').each(function() {
$(this).attr('id', 'bild' + i);
i++;
});
Sv: ersätta namn i sträng.
<code>string tmpText = "Den [bb]texten[\bb] du [bb]vill[/bb] gå igenom...";
string bbPattern = @"\[bb\]([\w\W]*?)\[/bb\]";
int i = i;
foreach (Match MatchedCodeBlock in Regex.Matches(tmpText, bbPattern))
{
string bbBlock = MatchedCodeBlock.ToString();
string newString = "<b id='blockID_" + i + "'>" + bbBlock.ToUpper() + "</b>";
tmpText = tmpText.replace(bbBlock, newString");
i ++;
}</code>
Jag har inte provkört, men i princip så skulle jag kolla åt det här hållet istället... Sen får du lägga pattern så att det passar dig och din kod...Sv:ersätta namn i sträng.
Skulle det gå att hitta en sådan här sträng med pattern
<a "+ value +" class="thickbox" ><img height='+ hojden +' width='+ vidden+' alt='' border="0" src="+ value +" /></a>