Kod HTML, PHP, MySQL, CSS w DB - jak?

Witam!

Tworze sobie stronkę, i robię do niej PA. Na stronie będzie trochę artykułów o webmasteringu, I teraz nasunęło mi się takie pytanie, jak będe dodawał do bazy artykuł, które będą zawierały kod PHP, który nie będzie miał się wykonywać, to jak najlepiej go dodawać, wystarczy zwykłę addslashes() przed wysłaniem do bazy? I jeszcze jedno, w artkułach będą zdjęcia, tekst pogrubiony, pochylony, inny kolor. I do bazy takie coś będzie chyba najlepiej zapisywać w postaci:

, i potem za pomocą str_replace(); konwersja na html? Czy to dobry pomysł, czy może znajdzie się coś bardziej wydajnego?

Pozdrawiam

Aby nie wykonywało kodu php użyj

$zmienna=str_replace('<?', '', $zmienna);

$zmienna=str_replace('?>', '', $zmienna);

$zmienna=str_replace('<?php', '', $zmienna);

A co do BBcode:

$zmienna = strip_tags($zmienna);

$zmienna=str_replace('[', '<', $zmienna);

$zmienna=str_replace(']', '>', $zmienna);

IMO nie jest to dobry pomysł. Co jeżeli user wklei kod JS? Też się wykona :roll:

Lepiej zrób coś takiego:

function bbcode($text,$lvl) {

	if($lvl >= 1) {

		$text = preg_replace("#\[b\](.*?)\[/b\]#si",'\\1',$text); //pogrubienie

		$text = preg_replace("#\[i\](.*?)\[/i\]#si",'\\1',$text); //kursywa

		$text = preg_replace("#\[u\](.*?)\[/u\]#si",'\\1',$text); //podkreslenie

		$text = preg_replace("#\[color=(.*?)](.*?)\[/color\]#si",'
\\2',$text); //zmiana koloru textu

	}

	if($lvl >= 2) {

		$text = preg_replace("#\[size=(.*?)](.*?)\[/size\]#si",'',$text); //zmiana wielkości textu

		$text = preg_replace("#\[h2](.*?)\[/h2\]#si",'

\1

‘,$text); //nagĹ‚Ăłwek h2 } if($lvl >= 3) { $text = preg_replace("#[center](http.*?)[/center]#si",’\1’,$text); //wysrodkowanie $text = preg_replace("#[img](http.*?)[/img]#si",’ 1

SyntaxError, dobra funkcja, ale za co odpowiada zmienna $lvl?

ale myślałem żeby zrobić to tak:

<?php

$bbcode = array('[b]','[/b]','[u]','[/u]');

$html = array('', '','', '');

$text = str_replace($bbcode, $html, $text);

?>[/code]

Co o tym sądzicie, nie miałem jeszcze okazji przetestować, nie mam teraz pod ręką gdzie tego przetestować. A co do nie wykonywanie się kodu, tylko jego wyświetlenia, rzeczywiście może być yakie coś, ale to tylko do niewykonywanie się kodu php.

Jeszcze jedna myśli mi się nasunęła, a mianowcie sprawa kolorowanie skłądni kodu, który będe prezentował.Z php nie ma problemu bo:

highlight_string($tekst); i po problemie. Gorzej może być z HTML, znalazłem coś takiego jak GESHI, co o tym sądzicie?

link