Autor | Zpráva | ||
---|---|---|---|
Petrol Profil * |
#1 · Zasláno: 14. 3. 2008, 19:56:27
Potřebuji v této větě nahradit slovo kůň za <b><font color=red>kůň</font></b>. Problém je ovšem v tom, že v eregi_replace to musí být bez diakritiky. Viz. kód:
$data = "Je to kůň a skáče přes pole"; $data = eregi_replace("kun", "<b><font color=red>kun</font></b>", $data); Nevíte co tím? |
||
orava Profil |
#2 · Zasláno: 14. 3. 2008, 21:25:20 · Upravil/a: orava
$data = "Je to kůň a skáče přes pole";
$data = str_replace("kůň", "<b><font color=red>kůň</font></b>", $data); skus to ale niesom si isty ci to pojde |
||
Petrol Profil * |
#3 · Zasláno: 14. 3. 2008, 21:45:17
To je stejné.
A já tam nemohu mít kůň musí tam být kun. |
||
orava Profil |
#4 · Zasláno: 14. 3. 2008, 21:48:22 · Upravil/a: orava
str_replace("kůň", "<b><font color=red>kun</font></b>" , $data);
skus toto |
||
Petrol Profil * |
#5 · Zasláno: 14. 3. 2008, 21:52:29
orava
to bez diakritiky se týká obou míst. Prostě chci aby nezáleželo na diakritice. Když jí ovšem odstraním s té věty tak nevím jak jí tam vrátit a časově je to náročné (array, chci rychlý skript). Jedná se o vyhledávání. |
||
ninja Profil |
#6 · Zasláno: 14. 3. 2008, 23:35:22 · Upravil/a: ninja
Petrol: tak chces aby to zvyraznilo hledanou frazi at uz ma nebo nema diakritiku?
Pak ti nezbude nez prevest oba vyrazy na verzi bez diakritiky, najit pripadny vyskt a pak upravit original. |
||
Petrol Profil * |
#7 · Zasláno: 15. 3. 2008, 19:27:47
ninja
To je dlouhý, a nevím jak tam tu diakritiku potom vrátit. |
||
bukaj Profil |
#8 · Zasláno: 15. 3. 2008, 20:41:02
Petrol
Pochopil-li jsem to, tak chceš, aby se zvýraznil výraz "kůň", ale i "kun" a např. "kůn", přičemž by všechny zůstaly ve stejném tvaru jako před zvýrazněním, že? Na to by měl stačit jednodudchý regulární výraz: $data = preg_replace('~(k[uů][nň])~', '<b><font ...>$1</font></b>', $data); //popř. pokud používáš kódování utf-8, přidej k výrazu modifikátor u |
||
Gandalf Profil * |
#9 · Zasláno: 15. 3. 2008, 20:54:25
přidej k výrazu modifikátor u
mám trošku jiný problém preg_replace_callback opatřuji slova hypertexty. vše je ok ale narazil jsem na slovo škoda, které je nahrazeno jen když je písmeno š malé, jak je Škoda tak to ignoruje a to tam mám jak parametr i, tak u bo to je v UTF-8. Je snad malé a velké š v UTF vždy něco jiného? |
||
krteczek_jinde Profil * |
#10 · Zasláno: 15. 3. 2008, 21:06:57
jako princip by ti mohl posloužit tento článek: http://www.insula.cz/dali/material/fulltext101.php
pokud čistě v PHP tak něco jako preg_replace_callback(co_hledám, funkce_která_to_nahradí, text) takže si musíš vytvořit funkci, která ti ze zadaného textu vytvoří regulární výraz, ten použiješ ve zmíněné fci, a funkce která všechny nalezené výrazy opatří tvými značkami |
||
Gandalf Profil * |
#11 · Zasláno: 16. 3. 2008, 00:11:17
pokud čistě v PHP tak něco jako preg_replace_callback(co_hledám, funkce_která_to_nahradí, text)
takže si musíš vytvořit funkci, která ti ze zadaného textu vytvoří regulární výraz, ten použiješ ve zmíněné fci, a funkce která všechny nalezené výrazy opatří tvými značkami Nevím, zda dobře čteš, funkci a vše kolem toho mám zmakuté... jem mě zarazilo to, že když mám v reg. výrazu slovo škoda, tak neodpovídá slovu Škoda v utf-8 a to v reg výrazu mám i parametry iu. Zajímá mě zda to je vpořádku nebo mám spíše někde chybu. Opatření tagy je už to poslední... |
||
Časová prodleva: 16 let
|
0