Hoe kan ek by die wedstryde by die gebruik van preg_replace in PHP?
-
08-06-2019 - |
Vra
Ek probeer om die hoofletters van 'n paar woorde te gryp en draai dit in span tags. Ek gebruik preg_replace vir uittreksel en wikkel doeleindes, maar dit is nie iets uitdruk .
preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
Oplossing
Jy moet die patroon in hakies /([A-Z])/
sit, soos volg:
preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
Ander wenke
\0
sal ook ooreenstem met die hele ooreenstem uitdrukking sonder om 'n eksplisiete vang met behulp van hakies.
preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)
Soos altyd, kan jy gaan na php.net/preg_replace of php.net/
\ 0 of $ 0 verwys na die teks wat ooreenstem met die hele patroon.
Van die preg_replace dokumentasie op php.net:
vervanging kan verwysings van bevat die vorm \ N of (sedert PHP 4.0.4) $ n, met laasgenoemde vorm synde die voorkeur een. Elke sodanige verwysing sal vervang word deur die teks vasgelê deur die n'th aangehaalde patroon.
Sien voorbeeld Flubba se.
Gebruik hakies rondom die gewenste vang.