在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的指定标签,那么这个函数就不能满足需求了,于是乎我用到了这个函数,代码如下:
- function strip_only_tags($str, $tags, $stripContent = FALSE) {
- $content = '';
- if (!is_array($tags)) {
- $tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags));
- if (end($tags) == '') {
- array_pop($tags);
- }
- }
- foreach($tags as $tag) {
- if ($stripContent) {
- $content = '(.+<!–'.$tag.'(–>|s[^>]*>)|)';
- }
- $str = preg_replace('#<!–?'.$tag.'(–>|s[^>]*>)'.$content.'#is', '', $str);
- }
- return $str;
- }
参数说明
$str — 是指需要过滤的一段字符串,比如div、p、em、img等html标签。
$tags — 是指想要移除指定的html标签,比如a、img、p等。
$stripContent = FALSE — 移除标签内的内容,比如将整个链接删除等,默认为False,即不删除标签内的内容。
使用说明,代码如下:
- $target = strip_only_tags($source, array(‘a’,'em’,'b’));移除$source字符串内的a、em、b标签。
- $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>
- ';
- $target = strip_only_tags($source, array('a','em'));
- //target results
- //<div><img src="/logo.png" border="0" alt="Welcome to lixiphp." />This a example from<strong>!</strong></div>
其它办法,代码如下:
- <?php
- //取出br标记
- function strip($str)
- {
- $str=str_replace("<br>","",$str);
- //$str=htmlspecialchars($str);
- return strip_tags($str);
- }
- ?>
一个自定义的函数,代码如下:
- **
- * 取出html标签
- *
- * @access public
- * @param string str
- * @return string
- *
- */
- function deletehtml($str) {
- $str = trim($str); //清除字符串两边的空格
- $str = strip_tags($str,"<p>"); //利用php自带的函数清除html格式。保留P标签
- $str = preg_replace("/t/","",$str); //使用正则表达式匹配需要替换的内容,如:空格,换行,并将替换为空。
- $str = preg_replace("/rn/","",$str);
- $str = preg_replace("/r/","",$str);
- $str = preg_replace("/n/","",$str);
- $str = preg_replace("/ /","",$str);
- $str = preg_replace("/ /","",$str); //匹配html中的空格
- return trim($str); //返回字符串
- }
波比源码 » PHP移除指定HTML标签方法总结
oral levaquin levofloxacin sale
buy anastrozole for sale buy anastrozole 1 mg for sale viagra over the counter
cialis 5mg generika tadalafil kaufen ohne rezept sildenafil 50mg kaufen ohne rezept
buy provigil 100mg pills provigil 100mg cheap order diamox 250 mg pill
order bupropion 150mg cetirizine 5mg drug seroquel medication
molnunat 200 mg oral naprosyn 250mg pill lansoprazole 15mg for sale
medroxyprogesterone 5mg ca oral cyproheptadine 4mg cyproheptadine 4 mg for sale
accutane over the counter buy generic prednisone 10mg prednisone 5mg ca
olanzapine brand buy valsartan 80mg sale valsartan 80mg sale
clozapine 50mg uk buy clozapine 50mg online cheap dexamethasone 0,0,5 mg drug
colchicine buy online online gambling jackpot party casino
zocor order order finasteride 5mg generic propecia drug
buy fluconazole 100mg without prescription sildenafil 150mg price viagra 100mg drug
cephalexin 125mg without prescription erythromycin 250mg cost buy erythromycin 250mg pills
order viagra 50mg for sale tadalafil drug cialis 10mg over the counter
oral desyrel 100mg buy suhagra generic aurogra cheap
buy naproxen 500mg generic omnicef usa lansoprazole 30mg tablet
brand biaxin 250mg clarithromycin 250mg canada buy antivert generic
buy proventil 100mcg albuterol 100 mcg for sale ciprofloxacin 500mg brand
order generic actos 15mg cost viagra sildenafil 200mg price
tadalafil 5mg drug Buy cialis in us real money casino games
real casino games blackjack online money free slot play
real money poker online best no deposit free spins online casino roulette
altace 10mg tablet amaryl 4mg sale cost etoricoxib 120mg
order doxycycline 100mg without prescription order ventolin 2mg online cheap cleocin ca
asacol 400mg usa mesalamine 800mg oral buy irbesartan 150mg generic
purchase temovate generic clobetasol order amiodarone us
acetazolamide 250mg usa imuran cost buy azathioprine 25mg generic
order generic alendronate 70mg buy alendronate 35mg pill order ibuprofen online
buy indomethacin 50mg for sale buy cenforce online cheap order cenforce 100mg generic
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…
purchase famotidine sale order mirtazapine sale mirtazapine 15mg over the counter
buy requip 2mg generic buy trandate 100mg generic labetalol brand
tricor oral sildenafil citrate 50mg brand sildenafil 100mg
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…
cheap cialis generic Buy cialis overnight delivery oral sildenafil 50mg
provigil ca order stromectol 6mg for sale promethazine us
prednisone 20mg tablet prednisone 5mg sale amoxil tablet
ivermectin human purchase stromectol generic prednisone brand
purchase zofran online cheap buy zofran 8mg order bactrim generic