• 06-08-2008, 12:21:19
    #1
    $deneme = preg_replace('/<!--(.*?)-->/s', '', $deneme);
    Bu kodlar "<!--" ile "-->" arasını ve kendilerini sildim.


    Ancak ben aşağıdaki gibi style içinde olan kodlara fokunmamasını istiyorum?

    <style>
    <!--
    css kod
    -->
    </style>

    sadece bunu türü silsin:

    <!-- html açıklaması -->

    regex ile aram hep kötü, istediğimi yapabilmek için nasıl bir kod kullanmalıyım.

    .
  • 06-08-2008, 12:50:52
    #2
    Ben de regex'de iyi değilim ama style kodlarında bir satır aşağıya iniyor .. O yüzden "\n olanları alma, onun dışındakileri al" gibi bir desen yazılabilir ..
  • 06-08-2008, 15:06:15
    #3
    Benim kodlarımda iniyor, ancak bu tanım kullanıcıya bağlı, yani global bir yapıya ihtiyacım var. Kurduğum mantık ne kadar doğru bilmiyorum ama şöyle, "eğer style içinde değil ise, işlem yap", bu mantığı regex e oturtmam benim için çok zor.

    Aynı mantığımı farklı yazdım, burada <style> etiketi içinde farklı html kodları da olabilir <style>, <style type="text/css">, <stye media="print"> gibi farklı patternler...

    "<!-- ve --> kodlarını arasını da kapsayarak sil, ancak <style></style> arasında değilse"