Bir metnin içindeki HTML etiketlerini temizlemek için çözüm yolları ararken, çok ilginç bir çözüm ile karşılaştım. Bu ve benzeri durumlarda genellikle ilk olarak, problemi kendim nasıl çözerim diye düşünürüm. İlk aklıma gelen, düzgün yapılandırılmış bir düzenli ifade (regular expression) ile metnin içindeki tüm HTML etiketlerini temizlemek oldu. Uygulamaya geçmeden önce bir de internette araştırayım dedim ve burada probleme çok ilginç bir yönden yaklaşan bir çözüm buldum. Makalede benim aklıma da gelen düzenli ifadeler ile karşılaştırma da yapılmış ve makalede görebileceğiniz gibi bu yöntem çok daha hızlı çalışıyor. Bunun en önemli sebebi de çok yalın bir mantık kullanılmış olması.
Okumaya devam et .NET için HTML etiketleri temizleme metodu
PHP ile SEO uyumlu daha anlaşılır web adresleri hazırlama
Uzun zamandır, geliştirdiğim web sitelerinde, hem daha anlaşılır olması, hem de SEO açısından daha faydalı olduğu genel kanaat olduğu için, adresleri ilgili sayfanın başlığından oluşturuyorum. İlk başlarda başlığı adrese çeviren bir metot yazmıştım, fakat zaman geçtikçe bu metodun çeşitli durumlarda düzgün çalışmadığını gözledim. Bunun üzerine örnekler ve en iyi pratiklere göz atmaya başladım.
Bu konuda en başarılı bulduğum uygulama WordPress oldu. WordPress açık kaynak kodlu bir uygulama olduğundan hemen kaynak kodlarını inceleyerek bu problemin üstesinden nasıl geldiklerini inceledim ve gerekli kısımları bir araya getirdim. WordPress’i seçme sebeplerimden birisi de, uygulamanın bir çok dilde kullanılması ve ilgili metotların bu dilleri destekleyecek şekilde geliştirilmeleriydi.
Okumaya devam et PHP ile SEO uyumlu daha anlaşılır web adresleri hazırlama
valiDate v2.1
Bugün valiDate metodunu çalışma arkadaşıma gösterirken, neden doğrulama başarılı olduğunda tarih nesnesini döndürmediğim sorusu aklıma geldi. Toplam 7 byte’lık ufak bir ekleme ile, doğrulama başarılı olduğunda JavaScript tarih nesnesi döndürecek şekilde metodu güncelledim. Bu sayede metottan dönen değeri hala if ifadesi içinde kullanabilirken, isterseniz if ifadesinden önce metottan dönen değeri bir değişkene atayarak, bu değişkeni if ifadesinde kullanabilir ve doğrulamayı geçerse değişkeni tarih nesnesi olarak kullanabilirsiniz. Hatta abartıp doğrulamadan dönen değeri direkt if ifadesi içinde değişkeninize atayarak da kullanabilirsiniz.
/*
* valiDate
* https://www.karalamalar.net/
*
* Copyright (c) 2009 İzzet Emre Erkan
* Licensed under Creative Commons Attribution-Share Alike 3.0 Unported License
* http://creativecommons.org/licenses/by-sa/3.0/
*
* Date: 2010-04-16 17:08:32 +0300 (Fri, 16 Apr 2010)
* Revision: 7
*/
String.prototype.valiDate =
function() {
if(/^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9]{2}$/.test(this)) {
var v = this.replace(/[- /]/g,'.').split('.');
var d=parseInt(v[0],10), m=parseInt(v[1],10), y=parseInt(v[2],10);
var o = new Date(y, m - 1, d);
return o.getDate() == d && o.getMonth() + 1 == m && o.getFullYear() == y ? o : false;
}
else
return false;
}
Metodun küçültülmüş halini (647 byte) buradan edinebilirsiniz.
Internet Explorer iFrame çerezlerini (cookie) neden engelliyor?
UYARI!
Bu yazı güncelliğini yitirmiştir. Okumaya devam etmeyi planlıyorsanız lütfen yazıdaki bilgilerin artık geçerli olmayabileceğini göz önünde bulundurun.
Gün geçmiyor ki Internet Explorer yeni bir arızayla beni çıldırtmasın. Bugüne kadar hep standartları takip etmediği için çıldırtmıştı, bugün ise yeni bir standardı direkt desteklemeye başladığı için çıldırttı. IFrame içinde yer alan sayfalar Internet Explorer’da tarayıcıya çerez (cookie) gönderemeyince problemi araştırmaya başladım ve buradaki yazıya ulaştım.
“Cannot create/shadow copy ‘dll ismi’ when that file already exists” probleminin çözümü
Geçen gün uygulamalarımızın çalıştığı sunucunun olay kayıtlarını incelerken ASP.NET’in sürekli olarak bu hata ile karşılaştığını gördüm. Bunun neticesinde web siteleri kimi zaman cevap veremez duruma geliyordu. Internette biraz araştırma yaptığımda genelde geliştiricilerin Visual Studio’da çalışırken bu hatayla karşılaştıklarını gördüm. (Engin ile birlikte) Bir süre çözüm aradıktan sonra bu yazıyı bulduk. Benim gibi bu problemle karşılaşmış ve çözüm yolu arayışındaki başka bir geliştiricinin bulduğu çözümü ben de sizlerle paylaşayım dedim.
web.config dosyanızda system.web elemanına aşağıdaki kod öbeğini ekleyerek sorundan kurtulabilirsiniz.
<hostingenvironment shadowcopybinassemblies="false"></hostingenvironment>Code language: HTML, XML (xml)
shadowCopyBinAssemblies özelliği şu şekilde tanımlanmış: Bir Boolean(Evet/Hayır) değeri ile uygulamanın Bin klasöründe yer alan bileşenlerinin, gölge kopyalarının (shadow copy) uygulamanın ASP.NET geçici dosyalar klasörüne kopyalanıp kopyalanmayacağını belirtir.
Umarım işinize yarar.