SORU
5 Mart 2013, Salı


Açıklama PHP kapanış etiketi dönüştürme

Benim komut satırları tek bir dize içinde PHP kapanış etiketini içerir. Normal çalışma altında bu bir sorun neden olmaz, ama açýklama yapmak istiyorum.

Ben denedim için bu satırın açıklama ile //, /* */ ve # ama hiçbiri işe çözümleyici olarak görüyor kapanış etiketi için gerçek bir kapanış etiketi.

İşte soru: satırı

$string = preg_replace('#<br\s*/?>(?:\s*<br\s*/?>) #i', '<br />', $string);
//                              ^^             ^^

Ben yukarıdaki satırı dışında açıklama için ne yapabilirim?

CEVAP
5 Mart 2013, Salı


Hile kullanımı: arada iki adet string. Bu şekilde, kapanış etiketi ikiye ayrılır ve geçerli bir kapatma etiketi değil artık. '?>' --> '?'.'>'

Kod:

$string = preg_replace('#<br\s*/?'.'>(?:\s*<br\s*/?'.'>) #i', '<br />', $string);

Bu // yorumlar yapacak.

/* */ yorumlar çalışmak için, */ dizi çok bölünmüş olurdu:

$string = preg_replace('#<br\s*'.'/?'.'>(?:\s*<br\s*'.'/?'.'>) #i', '<br />', $string);

Bütün olsa da, bazen unutmadaha fazlaparçalarının toplamından daha - ama açgözlü olmak kötü, daha iyi bırakılır zamanlar vardırdaha az. :)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007