Witam bardzo serdecznie.
Chciałbym podpiąć sie pod ten temat. Bo z zaproponowanych rozwiązań jestem troszkę zielony i nie wiem tak na prawdę jak to zrobić... Mam podobny problem co autor. Pisze własny CMS na potrzeby własnej strony www. Nie jestem zainteresowany żadnymi CMS pokroju Joomli czy coś podobnego bo wole jednak stworzyć własny od podstaw i zrobić sobie wszystko po swojemu czy to będzie ok czy nie. Interesują mnie opcja o jakie prosił autor posta. Mam już zrobione dodawanie newsów do bazy danych. Mam też zrobione pseudoCMS'owe wyświetlanie ich. Chciałbym jednak zaimplementować takie opcje jakie są widoczne np w oknie dodawania tego komentarza na forum może w podobny sposób poza emotikonami bo są mi całkowicie niepotrzebne.
Zależałoby mi na:
- wyborze czcionki
- kolorowaniu składni
- rozmiar czcionki
- kolor czcionki
- pogubienie
- kursywa
- podkreślenie
- link
- obrazek
- cytat
- mail
Może ktoś z Państwa natknął się na gotowy wzór. Ja mam tylko funkcje z tego co sie orientuję dodawania już chyba do gotowych newsów wysyłanych do bazy (lub nie?).
$s = preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-weight: bold">\\1</span>', $s); $s = preg_replace('#\[i\](.*?)\[/i\]#si', '<span style="font-style: italic">\\1</span>', $s); $s = preg_replace('#\[u\](.*?)\[/u\]#si', '<span style="text-decoration: underline">\\1</span>', $s); $s = preg_replace('#\[color=(\#[0-9a-f]{3,6}|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|purple|red|sil
ver|teal|white|yellow)\](.*?)\[/color\]#si', '<span style="color: \\1">\\2</span>', $s); $s = preg_replace('#\[size=([1-2]?[0-9](px|pt)|smaller|larger)\](.*?)\[/size\]#si', '<span style="font-size: \\1; line-height: normal">\\3</span>', $s); $s = preg_replace('#\[url\]([\w]+?://[^ "\n\r\t<]*?)\[/url\]#si', '<a href="\\1" title="\\1">\\1</a>', $s); $s = preg_replace('#\[url\]((www|ftp)\.[^ "\n\r\t<]*?)\[/url\]#si', '<a href="http://\\1" title="\\1">\\1</a>', $s); $s = preg_replace('#\[url=([\w]+?://[^ "\n\r\t<]*?)\](.*?)\[/url\]#si', '<a href="\\1" title="\\2">\\2</a>', $s); $s = preg_replace('#\[url=((www|ftp)\.[^ "\n\r\t<]*?)\](.*?)\[/url\]#si', '<a href="http://\\1" title="\\3">\\3</a>', $s);
$s = preg_replace('#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si', '<a href="mailto:\\1" title="\\1">\\1</a>', $s);
Oraz drugi:
$s = preg_replace('#<span style="font-weight: bold">(.*?)</span>#si', '\\1', $s); $s = preg_replace('#<span style="font-style: italic">(.*?)</span>#si', '\\1', $s); $s = preg_replace('#<span style="text-decoration: underline">(.*?)</span>#si', '\\1', $s); $s = preg_replace('#<span style="color: (.*?)">(.*?)</span>#si', '\2', $s); $s = preg_replace('#<span style="font-size: (.*?); line-height: normal">(.*?)</span>#si', '\2', $s); $s = preg_replace('#<a href="([\w]+?://[^ "\n\r\t<]*?)" title="(.*?)">(.*?)</a>#si', '\\3', $s);
$s = preg_replace('#<a href="mailto:(.*?)" title="(.*?)">(.*?)</a>#si', '[email]\\1[/email]', $s);
Czy ktoś pomógłby mi rozwiązać ten problem?