PHP'de preg_replace kullanırken nasıl maçlarında alabilirim?

oy
49

Kelimelerin bir çiftin büyük harflerle kapmak ve yayılma etiketleri sarılmasıdır çalışıyorum. Ben kullanıyorum preg_replace özü ve sarma amaçlı, ama bu bir şey çıkışı değil.

preg_replace(/[A-Z]/, <span class=\initial\>$1</span>, $str)
Oluştur 05/08/2008 saat 01:35
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
50

Sen parantez içinde desen koymak gerekir /([A-Z])/bunun gibi,:

preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
Cevap 05/08/2008 saat 01:36
kaynak kullanıcı

oy
26

\0 Ayrıca parantez kullanarak açıkça yakalama yapmadan tüm eşleşen bir ifadeyi eşleşir.

preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)

Her zamanki gibi, gidebilirsiniz php.net/preg_replace hızla belgeleri aramak için> veya php.net/<whatever arama terimi. Belgelere Quoth:

\ 0 veya 0 $ tüm modeliyle eşleştirildiğinde metnidir.

Cevap 28/08/2008 saat 10:02
kaynak kullanıcı

oy
8

Gönderen preg_replace belgelerinde php.net tarih:

yedek bir şekilde \ N ya da ikinci formu $ n (PHP 4.0.4), tercih edilen bir olma referanslar içerebilir. Her tür referans n'inci parantezli desen tarafından yakalanan metin ile değiştirilecektir.

Flubba en örneğe bakın.

Cevap 05/08/2008 saat 02:39
kaynak kullanıcı

oy
6

İstediğiniz yakalama etrafında parantez kullanın.

Cevap 23/06/2009 saat 18:54
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more