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

  • boniver

    boniver

    17 NİSAN 2006
  • Machinima

    Machinima

    17 Ocak 2006
  • Pituvision

    Pituvision

    11 Mart 2006