DIV diğer çocukları etkilemeden DIV içinde düz metne stil uygulamak

0 Cevap php

(Çıkarılan bir mesaj panosu görevinden class = "post") bu genel yapısı ile bir DIV verilen


<div class="post" id="1575524">
    I'm not sure why these items in the construction updates caught my eye, but they did...<br />
    <br />
    <div style="margin:20px; margin-top:5px; ">
        <div class="smallfont" style="margin-bottom:2px">Quote:</div>
        <table cellpadding="6" cellspacing="0" border="0" width="100%">
        <tr>
            <td class="alt2" style="border:1px inset">

                    Bay Lake Tower – bathroom modifications.

            </td>
        </tr>
        </table>
    </div>They're already having to do stuff to BLT?<br />
    <div style="margin:20px; margin-top:5px; ">
        <div class="smallfont" style="margin-bottom:2px">Quote:</div>
        <table cellpadding="6" cellspacing="0" border="0" width="100%">
        <tr>
            <td class="alt2" style="border:1px inset">

                    Caribbean Beach Resort – refurbish pool rules and spa rules signs at all pools. <br />
    All Star Resorts – refurbish pool rules and spa rules signs. 

            </td>
        </tr>
        </table>
    </div>I bet there are a lot of jurisdictions out there that would love to get building permit fees from this level of work.
</div>

Ben onun diğer alt öğeleri (Ps, tablolar, diğer DIV'leri, vb) dokunmadan, "post" DIV en düz metin için CSS stilleri uygulamak gerekir. Ben şeklini değiştirmek değil "post" Ben onu alırsınız önce DIV inşa edilmiştir; Onu aldıktan sonra ve gerekli olduğu kadar çıktısı önce değiştirebilir. Ben çıkış HTML PHP kullanıyorum. Gerekirse ek stiller sürebilir bağlantılı bir CSS stil var. Tarz gereken "post" DIV ve yalnız bırakılmalıdır alt öğelerin herhangi bir sayıda iç düz metin blokları herhangi bir sayıda olabilir.

PHP'nin dize işleme fonksiyonları (stripos, strripos, substr) ile çalışıyoruz. Aşağıdaki kodu başarıyla ilk çocuk elemandan önce düz düz metin sarmak yok ("Ben emin değilim neden bu öğeler ...") ve P ("Ben yargı bir yeri vardır bahis ...") sonra son etiketleri. Sorun ("Onlar zaten yaşıyorsanız ...") çocuk elemanların arasındaki düz metin erişiyor.


if ( stripos ( $postMessage, '<div' ) !== FALSE ) {
//  wrap text outside divs, if any
//  start of first div
  $divStartPos = stripos ( $postMessage, '<div' );
//  end of last div
  $divEndPos = strripos ( $postMessage, '/div>' ) + 4;
//  all up to start of first div + <p> tags
  if ( $divStartPos > 0 ) { 
    $textBeforeDiv = "<p class=\"postMessage\">". substr ( $postMessage, 0, $divStartPos -1 ) . "</p>\n";
  } // if
//  all between start of first and end of last div
  $div = substr ( $postMessage, $divStartPos, ($divEndPos - $divStartPos) + 1 );
//  all after end of last div + <p> tags
  $textAfterDiv = "<p class=\"postMessage\">". substr ( $postMessage, $divEndPos + 1, $postMessage->length - 1 ) . "</p>\n";
  $postMessage = $textBeforeDiv . $div . $textAfterDiv;
}   // if

Ben dize işleme geçmeden önce PHP'nin DOMDocument / DOMElement sınıflara karşı başımı vurarak birkaç saat geçirmişti, ve mümkünse mutlulukla burada kalacaktır. Bir DIV üst düzeyde düz metin erişim Bazı basit program yolu gerçekten ihtiyaç vardır. Böyle bir şey varsa.

Şimdiden teşekkürler.

0 Cevap