Autor Zpráva
Petrol
Profil *
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
$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 *
To je stejné.

A já tam nemohu mít kůň musí tam být kun.
orava
Profil
str_replace("kůň", "<b><font color=red>kun</font></b>" , $data);
skus toto
Petrol
Profil *
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
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 *
ninja
To je dlouhý, a nevím jak tam tu diakritiku potom vrátit.
bukaj
Profil
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 *
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 *
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 *
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í...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0