Avatar billede heavybreezer Nybegynder
20. juni 2004 - 19:41 Der er 5 kommentarer og
1 løsning

Allow html-tags?

Jeg fandt denne kode i dokumentationen:'


$source = nl2br($row['message']);

/**
* Allow these tags
*/
$allowedTags = '<img>';

/**
* Disallow these attributes/prefix within a tag
*/
$stripAttrib = 'java script:|onclick|ondblclick|onmousedown|onmouseup|onmouseover|'.
              'onmousemove|onmouseout|onkeypress|onkeydown|onkeyup';

/**
* @return string
* @param string
* @desc Strip forbidden tags and delegate tag-source check to removeEvilAttributes()
*/

function removeEvilTags($source)
{
  global $allowedTags;
  $source = strip_tags($source, $allowedTags);
  return preg_replace('/<(.*?)>/ie', "'<'.removeEvilAttributes('\\1').'>'", $source);
}

/**
* @return string
* @param string
* @desc Strip forbidden attributes from a tag
*/

function removeEvilAttributes($tagSource)
{
  global $stripAttrib;
  return stripslashes(preg_replace("/$stripAttrib/i", 'forbidden', $tagSource));
}

// Will output: <a href="forbiddenalert(1);" target="_blank" forbidden =" alert(1)">test</a>
echo removeEvilTags('<a href="java script:alert(1);" target="_blank" onMouseOver = "alert(1)">test</a>');


Men den virker ikke... Jeg får alligevel udskrevet alle tags, selvom jeg kun har tilladt <img> tags... Hvorfor?? :-)
Avatar billede jaw Nybegynder
20. juni 2004 - 20:11 #1
Du ønsker altså at fjerne alle tags, på nær <img> ik?

Jeg må nok indrømme, at jeg ikke har gaddet at teste alle dine funktioner :/ Men hvis du bare ønsker, kun at have <img>, så kan det se så simpelt ud:

$source = $row[message];
$allowed_tags = "<img>";
$source = strip_tags($source, $allowed_tags);

echo nl2br($source);

Kan ikke helt se, hvad du vil med det andet?
Avatar billede heavybreezer Nybegynder
20. juni 2004 - 21:24 #2
Takker :)

Du lægger bare et svar, og points er dine :)
Avatar billede jaw Nybegynder
20. juni 2004 - 21:29 #3
Det er da bare i orden - og selv tak :)
Avatar billede Slettet bruger
20. juni 2004 - 22:38 #4
Sygt at du ved så meget jav.. du har svaret på mega mange spørgsmål herinde!
Avatar billede jaw Nybegynder
20. juni 2004 - 22:41 #5
hehe, det tager jeg sandelig som et kompliment, mange tak :)
Avatar billede Slettet bruger
21. juni 2004 - 20:30 #6
Det skal du også ^^

*jaw
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester