2008-08-05 22 views

Odpowiedz

50

Trzeba umieścić wzór w nawiasach /([A-Z])/, tak:

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

@Gumbo: Odpowiadanie na własne pytania jest całkowicie w porządku, a nawet zalecane, o ile pytanie nie jest duplikatem innego na stronie. –

8

Z preg_replace documentation na php.net:

wymiany mogą zawierać odniesienia do Formularz \ n lub (od PHP 4.0.4) $ n, z tą ostatnią formą jest pr jeden z nich. Każdy taki odnośnik zostanie zastąpiony przez tekst przechwycony przez n-ty wzór z nawiasami.

Zobacz przykład Flubby.

25

\0 dopasuje również całe dopasowane wyrażenie bez wykonywania jawnego przechwytywania za pomocą nawiasów.

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

Jak zawsze, można przejść do php.net/preg_replace lub php.net/ < cokolwiek wyszukiwania termin > szybko przeszukać dokumentację. Ilość dokumentacji:

\ 0 lub 0 $ odnosi się do tekstu dopasowanego do całego wzoru.

6

Użyj nawiasów wokół wybranego przechwytywania.

Powiązane problemy