Autor | Zpráva | ||
---|---|---|---|
milbr Profil * |
#1 · Zasláno: 14. 5. 2009, 22:54:34
Pěkný večer,
omlouvám se nějak mi to už nemyslí a nemohu tady nic podobného najít. Potřeboval bych v řetězci najít určité slovo nebo výraz a to nahradit odkazem. Použil jsem str_replace("Okouzlující pohádková levandule", "<a href=\"odkaz\">Okouzlující pohádková levandule</a>", "".$obsah_produkt['vune_popis'].""); Vše je v pohodě ale potřeboval bych zahodit zbytek textu. Moc děkuji a pěkný večer Milan |
||
JanJanuska Profil |
#2 · Zasláno: 15. 5. 2009, 00:01:21
Chceš nahradiť text v reťazci odkazom a potom aj tak zbytok reťazca odstrániť?
Nestačilo by zistiť, či sa daný reťazec v texte nachádza a potom len vytvoriť odkazy? napr... $text = 'Okouzlující pohádková levandule!, to je paráda...'; $retazec = 'Okouzlující pohádková levandule'; if (substr_count($text, $retazec) > 0) $odkaz = '<a href="link">' . $retazec . '</a>'; |
||
AM_ Profil |
#3 · Zasláno: 15. 5. 2009, 12:26:53
Výsledek algoritmu, který popisuješ, bude vždy
"<a href=\"odkaz\">Okouzlující pohádková levandule</a>" |
||
milbr Profil * |
#4 · Zasláno: 15. 5. 2009, 19:29:45
JanJanuska
AM_ Nejprve se omlouvám za pozdní reakci a moc děkuji za odpověď. Bohužel mi to nějak nefunguje. Pokusím se nastínit situaci ještě jednou. V DB mám takovýto zápis: Francouzské pižmo*Okouzlující pohádková levandule*Madagaskarská vanilka*Pačuli-levandule-vanilka*Průzračný oceán*Mystický jantar Pro jiný produkt je zápis např. Sen letní noci*Divoký indonéský jasmín*Jablko-levandule*Omamný květ citrusu*Toužebné lesní plody*Provensálská vanilka Já bych potřeboval projít zápis zjistit zda se tam vyskytuje určitý výraz a přiřadit mu odkaz. Výše uvedený str_replace mi přiřadí odkaz ale vypíše se zbytek zápisu. Možná by šlo použít explode a porovnávat zda je tam to či ono. Mohl bych pro vůně udělat samostatnou tabulku ale tomu bych se rád vyhnul, protože DB je hotová a dalo by to hodně práce. Moc Vám všem děkuju za pomoc. a přeju pěkný večer. Milan |
||
JanJanuska Profil |
#5 · Zasláno: 15. 5. 2009, 20:13:28
Ak som to správne pochopil, tak spomínaná tabuľka by bola najlepšie riešenie, takáto DB je navrhnutá zle (pravdepodobne) a v neskoršej dobe ťa to môže stáť ešte oveľa viac práce ako teraz.
Inak ten zdroják čo som poslal by mal riešiť tvoj problém, prípadne by sa tam hodila manipulácia s poľom a cyklom, podľa potreby (ak hľadáš reťazcov viac). Ešte raz to sem pre dám, trochu inak... $text = 'Francouzské pižmo*Okouzlující pohádková levandule*Madagaskarská vanilka*Pačuli-levandule-vanilka*Průzračný oceán*Mystický jantar'; $hladany_retazec = 'Okouzlující pohádková levandule'; if (substr_count($text, $hladany_retazec) > 0) // ak je v texte hladany retazec aspon raz, tak: echo '<a href="link">' . $hladany_retazec . '</a>'; // vypise hladany retazec do odkazu |
||
AM_ Profil |
#6 · Zasláno: 15. 5. 2009, 23:31:42
milbr
Buď to popisuješ nějak špatně nebo je to skutečně takhle: máme řetězec řekněme X a ty chceš funkci: Obsahuje řetězec X podřetězec "Okouzlující pohádková levandule" ? Ano: vrať odkaz na "Okouzlující pohádková levandule" (tedy něco jako <a href="levandule">"Okouzlující pohádková levandule"</a> Ne: vrať prázdný řetězec je to tak? Pak s tím řetězcem skutečně nemusíš nijak pracovat, a prostě pokud obsahuje daný podřetězec, vypíšeš pouze odkaz, nic nebudeš nahrazovat. JanJanuska má pravdu, databáze je navrhnutá hrozně, DB je právě od toho, aby každá položka měla svou pozici, a nemusel si všechno cpát do jednoho záznamu a nějakým znakem oddělovat. |
||
milbr Profil * |
#7 · Zasláno: 16. 5. 2009, 10:28:01
AM_
JanJanuska Moc děkuju za odpověď a vysvětlení. Samostatná tabulka bude asi nejlepší řešení, kterému se nevyhnu. Potřeboval jsem nějaké rychlé řešení které mi od JanJanuska zatím funguje a za které děkuji. Vše vyřešeno a pěkný den všem přeje Milan |
||
Časová prodleva: 15 let
|
0