Kaynak html'yi okuyan ve bir e-postanın tüm eklerini indiren bir uygulamam var. Bu benim kaynak olarak \ image001.png bunu yalnızca Ekler değiştirmek istiyorum ... Öncelikle, Microsoft Outlook örneğin bazı garip kaynak değere sahip olması dışındaMS Outlook html kaynak dizesini regex ile değiştirin.
<img width="163" height="39" id="Picture_x0020_1" src="cid:[email protected]" alt="Description: Description: Description: cid:[email protected]">
çalışıyor. Ayrıca, alt sadece, bu uzun tuhaf alt değil, image001.png olmalıdır. Bundan nasıl emin olacağından emin değilim.
Regex.Replace(text, @"src=""cid:(?<FileName>[^@]+)@[^""]*""", @"src=""Attachments\${FileName}""",
RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
Regex.Replace(x, @"alt=""[^.]*cid:(?<FileName>[^@]+)@[^""]*""", @"alt=""${FileName}""",
RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
Bunu yapmanın daha verimli yollar vardır eminim, ama ben ile gelebilir ne:
[Html'yi ayrıştırmak için regex kullanmayın] (http://stackoverflow.com/a/1732454/26226). – jrummell
Sanırım başlık iyiydi, sadece Regex'in html'yi ayrıştırmakta genellikle güvenilmez olduğunu belirtiyorum. – jrummell
Eğer "metnin" aynı modele, "aynı biçime" sahip olacağına ve ** ASLA ** değişeceğine, ancak ** "REGEX" komutunu kullanmanız gerektiğine eminseniz ... Bu html dosyaları ile olası değildir. ama bence REGEX burada iyi bir seçenek olurdu ... – Anirudha