PHP移除指定HTML标签方法总结

在php中我们最常用的指定HTML标签可以直接使用strip_tags函数来替换了,利用它可以过滤所有的html标签哦,下面我来给大家介绍除了此函数之外的其它办法。

有时候我们需要把html标签页存到数据库里,但是有些场合却需要拿无html标签的纯数据,这个时候就要对带html标签的数据进行处理,把html标签都去掉,平时用 htmlspecialchars() 来过滤html,但是把html的字符转义了,最后显示出来的就是html源代码,利用strip_tags()就可以把html标签去除掉.

PHP默认的函数有移除指定html标签,名称为strip_tags,在某些场合非常有用。

strip_tags

strip_tags — Strip HTML and PHP tags from a string

string strip_tags ( string str [, string allowable_tags] )

弊端:这个函数只能保留想要的html标签,就是参数string allowable_tags,这个函数的参数allowable_tags的其他的用法,代码如下:

strip_tags($source,”); 去掉所以的html标签。

strip_tags($source,‘<div><img><em>’); 保留字符串中的div、img、em标签。

如果想去掉的html的指定标签,那么这个函数就不能满足需求了,于是乎我用到了这个函数,代码如下:

  1. function strip_only_tags($str$tags$stripContent = FALSE) { 
  2.   $content = ''
  3.  
  4.   if (!is_array($tags)) { 
  5.     $tags = (strpos($str'>') !== false ? explode('>'str_replace('<'''$tags)) : array($tags)); 
  6.     if (end($tags) == '') { 
  7.       array_pop($tags); 
  8.     } 
  9.   } 
  10.  
  11.   foreach($tags as $tag) { 
  12.     if ($stripContent) { 
  13.       $content = '(.+<!–'.$tag.'(–>|s[^>]*>)|)'
  14.     } 
  15.  
  16.     $str = preg_replace('#<!–?'.$tag.'(–>|s[^>]*>)'.$content.'#is'''$str); 
  17.   } 
  18.  
  19.   return $str

参数说明

$str — 是指需要过滤的一段字符串,比如div、p、em、img等html标签。

$tags — 是指想要移除指定的html标签,比如a、img、p等。

$stripContent = FALSE — 移除标签内的内容,比如将整个链接删除等,默认为False,即不删除标签内的内容。

使用说明,代码如下:

  1. $target = strip_only_tags($sourcearray(‘a’,'em’,'b’));移除$source字符串内的a、em、b标签。 
  2. $source='<div><a href="" target="_blank"><img src="logo.png" border="0" alt="Welcome to linzl." />This a example from<em>lixiphp</em></a><strong>!</strong></div> 
  3.  '; 
  4. $target = strip_only_tags($sourcearray('a','em')); 
  5.  
  6. //target results 
  7. //<div><img src="/logo.png" border="0" alt="Welcome to lixiphp." />This a example from<strong>!</strong></div> 

其它办法,代码如下:

  1. <?php 
  2. //取出br标记 
  3. function strip($str
  4. $str=str_replace("<br>","",$str); 
  5. //$str=htmlspecialchars($str); 
  6. return strip_tags($str); 
  7. ?> 

一个自定义的函数,代码如下:

  1. ** 
  2.  * 取出html标签 
  3.  *  
  4.  * @access public 
  5.  * @param string str 
  6.  * @return string 
  7.  *  
  8.  */ 
  9. function deletehtml($str) { 
  10.     $str = trim($str); //清除字符串两边的空格 
  11.     $str = strip_tags($str,"<p>"); //利用php自带的函数清除html格式。保留P标签 
  12.     $str = preg_replace("/t/","",$str); //使用正则表达式匹配需要替换的内容,如:空格,换行,并将替换为空。 
  13.     $str = preg_replace("/rn/","",$str);  
  14.     $str = preg_replace("/r/","",$str);  
  15.     $str = preg_replace("/n/","",$str);  
  16.     $str = preg_replace("/ /","",$str); 
  17.     $str = preg_replace("/  /","",$str);  //匹配html中的空格 
  18.     return trim($str); //返回字符串 
  19. }
波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » PHP移除指定HTML标签方法总结

139 评论

  1. colchicine buy online online gambling jackpot party casino

  2. order viagra 50mg for sale tadalafil drug cialis 10mg over the counter

  3. buy naproxen 500mg generic omnicef usa lansoprazole 30mg tablet

  4. order generic actos 15mg cost viagra sildenafil 200mg price

  5. acetazolamide 250mg usa imuran cost buy azathioprine 25mg generic

  6. Thank you for great article. Hello Administ . Metropol Halı Karaca Halı Öztekin ve Selçuklu Halı Cami Halısı ve Cami Halıları Türkiye’nin En Büyük Cami Halısı Fabrikasıyız…

  7. Good info. Lucky me I reach on your website by accident, I bookmarked it. Metropol Halı Karaca Halı Öztekin ve Selçuklu Halı Cami Halısı ve Cami Halıları Türkiye’nin En Büyük Cami Halısı Fabrikasıyız…

  8. purchase zofran online cheap buy zofran 8mg order bactrim generic

  9. Everything is very open and very clear explanation of issues. was truly information.

  10. order levofloxacin without prescription oral levaquin order bupropion 150mg online cheap

  11. buy cheap generic pregabalin priligy for sale dapoxetine 90mg without prescription

  12. purchase simvastatin online cheap valtrex 500mg drug buy sildenafil 50mg online

  13. buy isotretinoin 20mg pills azithromycin cost buy cheap azithromycin

  14. how to buy ramipril glimepiride price buy etoricoxib no prescription

  15. coreg for sale coreg 6.25mg uk purchase chloroquine generic

  16. purchase baricitinib online olumiant sale buy generic atorvastatin over the counter

  17. buy adalat online allegra uk buy fexofenadine pills for sale

  18. buy diltiazem medication zyloprim pills zyloprim 300mg pill

  19. purchase triamcinolone pills generic clarinex buy claritin for sale

  20. buy topamax 200mg without prescription levaquin 250mg ca buy levofloxacin 250mg pills

  21. order imuran pills buy imuran generic how to get telmisartan without a prescription

  22. brand etoricoxib 120mg mesalamine uk azelastine 10ml ca

  23. amiodarone pills coreg sale phenytoin cost

  24. where to buy praziquantel without a prescription order cyproheptadine order periactin 4 mg generic

  25. buy glipizide 5mg generic piracetam oral purchase betnovate without prescription

  26. frumil 5 mg pill cost clindamycin where to buy acivir without a prescription

  27. purchase fluoxetine generic prozac 40mg ca purchase letrozole sale

评论已关闭

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡