Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
#1 · Zasláno: 2. 4. 2013, 13:14:15
Zdravím,
mám takovýto regulár, který má v textu nalézt názvy míst a vytvořit na ně odkaz preg_replace("/(" . $nazev . "[a-z]{0,5})/i", "<a href=\"/katalog/" . $link . "/\">\$1</a>", $text); Kvůli skloňování je tam ještě ta část [a-z]{0,5} (pokud např. hledám slovo "hrad", aby to nalezlo i slovo "hrady", "hradem" apod.) . Potřeboval bych, aby se název hledal bez ohledu na velikost písma, ale ta část kvůli skloňování, aby pak už brala pouze malá písmena. Bohužel identifikátor "i" na konci reguláru způsobí, že se tam berou i velká písmena. Je možné regulár upravit tak, aby case-insenstive bral pouze na text v proměnné $nazev a na zbytek reguláru už ne? |
||
ShiraNai7 Profil |
#2 · Zasláno: 2. 4. 2013, 13:21:31
Neopužívej modifikátor "i" na celý výraz, ale pouze v částech, kde to potřebuješ:
"/((?i:" . preg_quote($nazev) . ")[a-z]{0,5})/" Viz http://www.php.net/manual/en/regexp.reference.internal-options.php |
||
Sylar Profil |
#3 · Zasláno: 2. 4. 2013, 13:26:05
ShiraNai7:
skvělé, díky moc |
||
Časová prodleva: 11 let
|
0