note 75100 deleted from function.strip-tags by danbrown

From: Date: Sun, 17 May 2009 15:56:54 +0000
Subject: note 75100 deleted from function.strip-tags by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-154721@lists.php.net to get a copy of this message
Note Submitter: geersc at hotmail dot com ---- Hi, I made the following adjustments to the "stripeentag()" function listed here. Improvements are always welcome. Regards, Chris <?php function strip_attributes($msg, $tag, $attr, $suffix = "") { $lengthfirst = 0; while (strstr(substr($msg, $lengthfirst), "<$tag ") != "") { $tag_start = $lengthfirst + strpos(substr($msg, $lengthfirst), "<$tag "); $partafterwith = substr($msg, $tag_start); $img = substr($partafterwith, 0, strpos($partafterwith, ">") + 1); $img = str_replace(" =", "=", $img); $out = "<$tag"; for($i=0; $i < count($attr); $i++) { if (empty($attr[$i])) { continue; } $long_val = (strpos($img, " ", strpos($img, $attr[$i] . "=")) === FALSE) ? strpos($img, ">", strpos($img, $attr[$i] . "=")) - (strpos($img, $attr[$i] . "=") + strlen($attr[$i]) + 1) : strpos($img, " ", strpos($img, $attr[$i] . "=")) - (strpos($img, $attr[$i] . "=") + strlen($attr[$i]) + 1); $val = substr($img, strpos($img, $attr[$i] . "=" ) + strlen($attr[$i]) + 1, $long_val); if (!empty($val)) { $out .= " " . $attr[$i] . "=" . $val; } } if (!empty($suffix)) { $out .= " " . $suffix; } $out .= ">"; $partafter = substr($partafterwith, strpos($partafterwith,">") + 1); $msg = substr($msg, 0, $tag_start). $out. $partafter; $lengthfirst = $tag_start + 3; } return $msg; } ?>

« previous php.notes (#154721) next »