...
|
...
|
@@ -400,7 +400,46 @@ function paramHas(string $name):bool { |
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* Sample text:
|
|
|
$text = '<b>sample</b> text with <div>tags</div>';
|
|
|
|
|
|
Result for strip_tags($text):
|
|
|
sample text with tags
|
|
|
|
|
|
Result for strip_tags_content($text):
|
|
|
text with
|
|
|
|
|
|
Result for strip_tags_content($text, '<b>'):
|
|
|
<b>sample</b> text with
|
|
|
|
|
|
Result for strip_tags_content($text, '<b>', TRUE);
|
|
|
text with <div>tags</div>
|
|
|
|
|
|
I hope that someone is useful :)
|
|
|
* 删除html标记
|
|
|
* @param $text
|
|
|
* @param string $tags
|
|
|
* @param false $invert
|
|
|
* @return string|string[]|null
|
|
|
* @author:dc
|
|
|
* @time 2023/6/20 18:05
|
|
|
*/
|
|
|
function strip_tags_content($text, $tags = '', $invert = FALSE) {
|
|
|
preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);
|
|
|
$tags = array_unique($tags[1]);
|
|
|
if(is_array($tags) AND count($tags) > 0) {
|
|
|
if($invert == FALSE) {
|
|
|
return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?</\1>@si', '', $text);
|
|
|
}
|
|
|
else {
|
|
|
return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?</\1>@si', '', $text);
|
|
|
}
|
|
|
}
|
|
|
elseif($invert == FALSE) {
|
|
|
return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);
|
|
|
}
|
|
|
return $text;
|
|
|
}
|
|
|
|
|
|
|
...
|
...
|
|