Autor Zpráva
Tomasekkkk
Profil *
Zdravim vsechny, pro nekoho asi prkotina, mozna to ani nejde, ale myslim si, ze urcite pujde pomoci array nebo neco podobneho. A nyni k problemu. Vypisuju nektere clanky, rad bych pomoci eregi_replace (dobra volba?) udělal to, že když ve článku bude nějaké slovo, které budu mít v nějaké proměné např. (auto, motorka, domeček,...) se mi toto slovo ztuční, zatím to mám uděláno tak

eregi_replace("auto","<strong>auto</strong>", $text_clanku);
eregi_replace("motorka","<strong>motorka</strong>", $text_clanku);

existuje zpusob jak to udelat elegantneji nez takovym zpusobem kde budu mit dalsich 70 radku scriptu navic? :-)

Diky za odpoved
Mastodont
Profil
Dej si ta slova do pole a pak v cyklu zpracuj všechny prvky pole.
Noem
Profil *
alebo skus str_replace
Retal
Profil
Můžeš použít http://cz.php.net/manual/en/function.str-replace.php, ta funkce chápe pole
nebo ještě lépe rozumný regexp
preg_replace('@(auto|motorka)@iu', '<b>\1</b>', $s);
Noem
Profil *
$co = array("auto","motorka");
$cim = array("<strong>auto</strong>","<strong>motorka</strong>");
$clanok = str_replace($co,$cim,$clanok);
Tomikkkkkk
Profil *
Retal

Diky asi zkusim toto, muzes mi jen vysvetlit proc je pred tim znak zavinac a na konci za zavinacem iu?

'@(auto|motorka)@iu'

??? Diky
Retal
Profil
Zavináč je moje oblíbené ohraničení regulárního výrazu, můžeš ale použít vpodstatě cokoliv, třeba tildu, lomítko atd. Modifikátor "i" znamená "neber ohled na velká a malá písmena", "u" znamená "řetězec je v kódování UTF-8".
Tomikkkkkk
Profil *
Retal

Super, diky, ja tam nechal to u na konci a nefungovalo mi to, bylo to tim utf-8 tak jsem nechal to i a uz mi to funguje jak jsem chtel a to jsem tam zkousel strtolower apod. aby to nerozlisovalo velikost pisma :-) Diky
Retal
Profil
Pokud použiješ modifikátor "i", už nemusíš používat strtolower();.
Kubista
Profil
Zdravím, chci pomocí regulárního výrazu převést: [tucne]něco[/tucne] na <strong>něco</strong>.

Regulární výraz:
$text = preg_replace("@(\[tucne\])(.*?)(\[\/tucne\])@ui", "<strong>\\2</strong>", "$text");


Funguje to do té doby, než zadám do proměnné $text:

[tucne]něco
něco dalšího
[/tucne]

tzn. když to není na jednom řádku.

Můžete někdo prosím poradit? :-)
Mastodont
Profil
Modifikátory "ui" si rozšiř na "uim".
Kubista
Profil
Mastodont
tak pomohlo "uis"

díky za nasměrování na modifikátory :-)
Mastodont
Profil
Kruci, tyhle dva si pořád pletu.
Gandalf
Profil *
preg_replace('@(auto|motorka)@iu', '<b>\1</b>', $s);

něco podobného bych potřeboval, ale mám to složitější, požadovaná slova potřebuji opatřit hypertexty, tzn. že budou rozdílná předem známá url a titulky, je to tímhle způsobem proveditelné?

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: