Merhaba;
Regular expression kullanarak bir uygulama yapmam gerekiyor ama regexp ile aram pek iyi olmadığından burada sorunuma bir çözüm arayayım dedim.
<span class="asd">hmm</span> gibi bir HTML kodu düşünün bunu bir şekilde regexp e sokup sonuç olarak hmm almam gerekiyor.
Şimdiden teşekkürler
Uygulamayı neyle geliştirdiğini söyleseydin daha fazla insan yardımcı olabilirdi. Ama burada açılan her 5 server-side başlığından 3'ü PHP olduğu ve benim de default web programlama dilim olduğu için PHP'de yardımcı olmaya çalıştım. Diğer dillerde de benzer bir komutun olması muhtemel.
Ayrıca strip_tags() fonksiyonu text içerisindeki tagların hepsini kaldırmak içindir. 2. parametresi ise allowed tags, yani izin verilenlerdir. strip_tags($text, '<span>'); şeklinde yaparsan <span> taglarını olduğu gibi bırakıyor olması lazım...
Bu arada dilin kendi fonksiyonlarını kullanmak, regexp'e göre daha performanslı ve hızlı olacaktır.
Spoiler:
Kullandığım dili söyleyecektim daha sonra regexp deseni istiyorum fark etmez dedim .Direkt PHP kodu gelince bir araştırayım dedim.Hiç olmadı bu yöntemi kullanmaya çalışacağım.ASP de bu kadar marifetli hazır bir fonksiyon var mı bilmiyorum, duymadım ama regexp , split vb kullanarak yapılabilir.Dediğim gibi en güvenilir yöntem regexp, fonksiyonun performansı vs de önemli değil localde çalışacak, elimdeki birçok HTML sayfasını ayıklamam gerekiyor .Sadece span class="asd" yi de kullanmayacağım asd ler değişecek deseni bulabilirsem benim için çok pratik olacak.Yine de teşekkür ederim.
PHP'de bütün HTML tagları dışındaki textleri almak için şu çalışıyor;
Tabi bu çalıştığında ilk uyan text'i alacaktır ve duracaktır, PHP'de tüm text'leri almak için preg_match_all fonksiyonuyla her uyan koşulu bir array[] değişkeninde biriktirip istersek array olarak kullanıyor, istersek birleştiriyor istersek de bankaya yatırıyoruz.|<[^>]+>(.*)</[^>]+>|U
Regexp'de her koşul için ufacık karakterler değiştiği ve tüm yapıyı etkilediği için diğer koşulu detaylı açıklarsan ona göre de birşeyler çıkarabilirim.
Kolay gelsin.
Spoiler:
Benim istediğim şöyle birşey <span class="baslik">baslik</span>, <span class="metin">metin</span> gibi birkaç tane daha farklı HTML tagları var onları teker teker koddan ayıklamak ve baslik = <span class="baslik">baslik</span> arasındaki değer şeklinde değişkenlere atamak.HTML Parser zımbırtılarının yaptığı iş bir manada; HTML kodlarını parselleyip işime yarayanları ayırıp değişkenlere atamak.
Şu adrese bir bakabilirmisin bulursam ben yazarım ..
http://regexlib.com/DisplayPatterns.aspx
Alıntıdır maxiasp.comPsyChaos; tarafından gönderilen mesaj:
Teşekkür ederim.İyi oldu.