| Autor | Zpráva | ||
|---|---|---|---|
| Pebrach Profil * |
#1 · Zasláno: 31. 3. 2011, 16:26:51
Dobrý den,
programuji fórum a potřebuji vytvořit něco podobného, jako má většina fór. Pokud potřebuji například vložit funkční odkaz, napíšu ho mezi pomocné tagy (url)(/url) (pouze příklad). To samé se dá udělat například pro obrázek a další. Napadlo mě to dělat pomocí funkce preg_replace ovšem tato funkce dělala neplechu. Zvláště, když mi tato funkce v regulérním výrazu (například u odkazu) dávala do odkazu i tyto pomocné tagy (takže ve výsledku měl regulérní zápis na fóru takovouto podobu: a href=\"(url)http://www.neco.cz(/url)\" ). Proto bych chtěl poprosit o radu někoho, kdo už podobný systém řešil. Děkuji za každý nápad. |
||
| Mastodont Profil |
#2 · Zasláno: 31. 3. 2011, 16:43:28
Preg_replace je úplně v pohodě, ale chce to používat ve vzoru závorky a v části replace backreference, čili něco jako:
$pattern="(url)(.*)(/url)" $replacement = "<a href=\"\\2\">" Píšu z hlavy, takže si to musíš otestovat ... |
||
| Keeehi Profil |
#3 · Zasláno: 31. 3. 2011, 16:45:03 · Upravil/a: Keeehi
Mastodont:
Já bych to viděl asi nějak takto: $pattern = "~\(url\)(.*?)\(/url\)~"; $replacement = "<a href=\"\\1\">\\1</a>"; Výsledky hledání „php bbcode“ v Googlu: 1 • phpBB.cz • Zobrazit téma - Funkční BBCode 2 • Seznam vB tagů - OverClocking Guru 4um 3 • Spoiler BBCode | Na stiahnutie - Oficiálna Slovenská podpora módov ... 4 • BB Code List - Vědecký klub Universalb 5 • BB code - CS Satellite forum 6 • Freedive Spearfishing fórum - BB Code List 7 • BBcode pre PHPBB na vkladanie videa (spravodaj) 8 • Převod BBCode tagů na HTML tagy |
||
| Pebrach Profil * |
#4 · Zasláno: 31. 3. 2011, 16:48:24
Jsem v tomhle celkem nováček, takže chvíli trvá, než si to přeberu. Jak je tedy možné tohle aplikovat do mého způsobu? Názorně předvedu: výpis pomocí WHILE mi vrací příspěvek v surovém stavu. to jest proměnná $forum_prispevek. Tento pak projedu kódem: $forum_prispevek_filtr1 = preg_replace(zde to nějak potřebuji napasovat) a proměnnou $forum_prispevek_filtr pak zobrazuji jako konečný příspěvek. Z toho co jsem pochopil tak jednotlivé části ukládáte do jednotlivých proměnných, které pak "naházíte" do funkce preg_replace. Je to tak?
|
||
| Keeehi Profil |
#5 · Zasláno: 31. 3. 2011, 16:57:32 · Upravil/a: Keeehi
$forum_prispevek_filtr1 = preg_replace($pattern,$replacement,$forum_prispevek); Když budeš chtít nahrazovat více tagů, tak vytvoříš více pattern-replacement dvojic, z paternů vytvoříš pole a z replacementů vytvoříš pole a ty pole předáš funkci preg_replace (Example 2). |
||
| Pebrach Profil * |
#6 · Zasláno: 31. 3. 2011, 16:58:32
Díky moc za pomoc, zkusím to.
|
||
|
Časová prodleva: 15 let
|
|||
0