htmlspecialchars & bbcode в mysql поле

  • Автор Автор Hous
  • Начална дата Начална дата

Hous

Registered
Искам да записвам даден HTML като безопасен,тоест след като е записан във вида
Код:
[nqkqkavtag]<a href="">bla bla</a>[/nqkqkavtag]
във дб-то да изглежда
<a href="">bla bla</a>
за да може после като го покажа да се вижда като текст, а не да се обработва като HTML

А когато сложа чист код (без таговете[nqkaftag]) , искам да се чете като html, примерно:
Код:
<br><h1>Zaglavie</h1>
Като показвам записа искам br и h1 таговете да са си HTML Код.

С две думи искам да си направя нещо като bb-code,и между неговите тагове да показва кода като безопасен*htmlspecialchars) а, останалото да си го записва и показва както си е.
 
Единственото за, което се сещам в момента е да preg-неш всичко между таговете и да им слагаш само там htmlspecialchars().
 
NewGuy каза:
Единственото за, което се сещам в момента е да preg-неш всичко между таговете и да им слагаш само там htmlspecialchars().
И аз това се чудя, но няма ли по-ефикасен начин?
 
Ами не мога да се сетя как могат да се разграничават по друг начин. Все пак въртиш информацията от 1 променлива. Ако питаш за някаква функция която да го прави няма.
 
По принцип като защита ми препоръчаха да въртя информацията през две променливи или повече променливи.

Когато бях на лекция на в академия "Т****к" (един път ми направиха забележка че споменавам академията и затова ама ако някой се сети коя е да си замълчи)
 
Като го прекараш през 2 променливи нищо няма да стане ако просто си "преминава" през тях..

Ако някой го интересува here's what i came up with
PHP:
//search for bbcode [code][/code]
		if(preg_match("[code]",$string))
		{
		$explode=explode("[code]",$string);
		$explodee=explode("[/code]",$explode[1]);
		
		$htmlspecialchars=htmlspecialchars($explodee[0]);
		$string=str_replace($explodee[0],$htmlspecialchars,$string);//replace html sas htmlspecialchars
		}
 

Back
Горе