jueves, 20 de octubre de 2011

Removing html tags in a php string

Visto en http://php.net/manual/en/function.strip-tags.php 

strip_tags

(PHP 4, PHP 5)
strip_tagsStrip HTML and PHP tags from a string

reject note Description

string strip_tags ( string $str [, string $allowable_tags ] )
This function tries to return a string with all NUL bytes, HTML and PHP tags stripped from a given str. It uses the same tag stripping state machine as the fgetss() function.

reject note Parameters

str
The input string.
allowable_tags
You can use the optional second parameter to specify tags which should not be stripped.
Note:
HTML comments and PHP tags are also stripped. This is hardcoded and can not be changed with allowable_tags.
Note:
This parameter should not contain whitespace. strip_tags() sees a tag as a case-insensitive string between < and the first whitespace or >. It means that strip_tags(" ", " ") returns an empty string.

reject note Return Values

Returns the stripped string.

reject note Changelog

Version Description
5.0.0 strip_tags() is now binary safe
4.3.0 HTML comments are now always stripped

reject note Examples

Example #1 strip_tags() example
$text 'Test paragraph.
 Other text'
;
echo 
strip_tags($text);
echo 
"\n";
// Allow  and 
echo strip_tags($text'');?>

reject note Notes

Warning
Because strip_tags() does not actually validate the HTML, partial or broken tags can result in the removal of more text/data than expected.
Warning
This function does not modify any attributes on the tags that you allow using allowable_tags, including the style and onmouseover attributes that a mischievous user may abuse when posting text that will be shown to other users.

reject note See Also



stripcslashes> <strcspn
[edit] Last updated: Fri, 14 Oct 2011
 
reject note add a
 note add a note User Contributed Notes strip_tags
dhgouveia at hotmail dot com 10-Oct-2011 11:09
this is just for strip the inside tags

$allow = '
  • ';

    $str = '
    Paragraph
    Bold
    Red

    Header

    '
    ;

    $result = strip_tags($str,$allow);
    $result = clean_inside_tags($result,$allow);

    echo
    '';

    //Clean the inside of the tags
    function clean_inside_tags($txt,$tags){
       
       
    preg_match_all("/<([^>]+)>/i",$tags,$allTags,PREG_PATTERN_ORDER);

        foreach (
    $allTags[1] as $tag){
           
    $txt = preg_replace("/<".$tag."[^>]*>/i","<".$tag.">",$txt);
        }

        return
    $txt;
    }

    ?>

No hay comentarios:

Publicar un comentario

Limpiar un Wordpress hackeado

 Check list para limpiar instancias de Wordpress que han sido hackeadas, y para prevenir hackeos. Para técnicos de sistemas con acceso SSH a...