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

  • Kenneth Håkonsen

    Kenneth Håk

    13 Mart 2011
  • RFS Dan

    RFS Dan

    22 Temmuz 2014
  • Richard Laxa

    Richard Laxa

    30 AĞUSTOS 2012