刪除html標(biāo)簽得到純文本可處理嵌套的標(biāo)簽
更新時(shí)間:2014年04月28日 17:33:46 作者:
這篇文章主要介紹了通過(guò)刪除html標(biāo)簽得到的純文本可處理嵌套的標(biāo)簽,需要的朋友可以參考下
方法基本上來(lái)自THinkphp中的源碼,但是被我修改了一下
<?php
/*
*@Description:刪除HTML標(biāo)簽,得到純文本??梢蕴幚砬短椎臉?biāo)簽
*
*/
class deleteHtmlTags{
private $filename;
function __construct($filename='C:/AppServ/www/text.txt'){
$this->filename = $filename;
}
/**
* 刪除html標(biāo)簽,得到純文本。可以處理嵌套的標(biāo)簽,局限性在于連標(biāo)簽內(nèi)的屬性值都會(huì)刪除掉
* @access public
* @param string $string 要處理的html
* @return string
*/
public function deletehtmltags(){
$content = $this->contentGet();
while(strstr($content, '>')){
$currentBegin = strpos($content, '<');
$currentEnd = strpos($content, '>');
$cha = $currentEnd - $currentBegin - 1;
$tmpStringBegin = @substr($content, 0, $currentBegin);
// $tmpStringMiddle = @ substr($content, $currentBegin + 1, $cha);
$tmpStringEnd = @substr($content, $currentEnd + 1, strlen($content));
// $content = $tmpStringBegin.$tmpStringMiddle.$tmpStringEnd;
$content = $tmpStringBegin.$tmpStringEnd;
}
return $content;
}
private function contentGet(){
$fd = fopen($this->filename, 'r');
$content = fread($fd, filesize($this->filename));
fclose($fd);
return $content;
}
}
$deleteHtml = new deleteHtmlTags();
$content = $deleteHtml->deletehtmltags();
echo $content;
?>
修改部分也在上面,只是注釋掉了。個(gè)人覺(jué)得這個(gè)方法比用正則這類的方法更好。
復(fù)制代碼 代碼如下:
<?php
/*
*@Description:刪除HTML標(biāo)簽,得到純文本??梢蕴幚砬短椎臉?biāo)簽
*
*/
class deleteHtmlTags{
private $filename;
function __construct($filename='C:/AppServ/www/text.txt'){
$this->filename = $filename;
}
/**
* 刪除html標(biāo)簽,得到純文本。可以處理嵌套的標(biāo)簽,局限性在于連標(biāo)簽內(nèi)的屬性值都會(huì)刪除掉
* @access public
* @param string $string 要處理的html
* @return string
*/
public function deletehtmltags(){
$content = $this->contentGet();
while(strstr($content, '>')){
$currentBegin = strpos($content, '<');
$currentEnd = strpos($content, '>');
$cha = $currentEnd - $currentBegin - 1;
$tmpStringBegin = @substr($content, 0, $currentBegin);
// $tmpStringMiddle = @ substr($content, $currentBegin + 1, $cha);
$tmpStringEnd = @substr($content, $currentEnd + 1, strlen($content));
// $content = $tmpStringBegin.$tmpStringMiddle.$tmpStringEnd;
$content = $tmpStringBegin.$tmpStringEnd;
}
return $content;
}
private function contentGet(){
$fd = fopen($this->filename, 'r');
$content = fread($fd, filesize($this->filename));
fclose($fd);
return $content;
}
}
$deleteHtml = new deleteHtmlTags();
$content = $deleteHtml->deletehtmltags();
echo $content;
?>
修改部分也在上面,只是注釋掉了。個(gè)人覺(jué)得這個(gè)方法比用正則這類的方法更好。
相關(guān)文章
PHP中spl_autoload_register()和__autoload()區(qū)別分析
這篇文章主要介紹了spl_autoload_register()和__autoload()區(qū)別,需要的朋友可以參考下2014-05-05Ajax+PHP實(shí)現(xiàn)的刪除數(shù)據(jù)功能示例
這篇文章主要介紹了Ajax+PHP實(shí)現(xiàn)的刪除數(shù)據(jù)功能,涉及php結(jié)合ajax動(dòng)態(tài)交互操作數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)查詢與刪除相關(guān)操作技巧,需要的朋友可以參考下2019-02-02PHP sleep()函數(shù), usleep()函數(shù)
這篇文章主要介紹了PHP sleep()函數(shù), usleep()函數(shù),需要的朋友可以參考下2016-08-08PHP微信公眾號(hào)開發(fā)之微信紅包實(shí)現(xiàn)方法分析
這篇文章主要介紹了PHP微信公眾號(hào)開發(fā)之微信紅包實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)微信公眾號(hào)紅包發(fā)送功能的實(shí)現(xiàn)思路、步驟與具體操作技巧,需要的朋友可以參考下2017-07-07php中判斷字符串是否全是中文或含有中文的實(shí)現(xiàn)代碼
php中判斷字符串是否全是中文或含有中文的實(shí)現(xiàn)代碼,主要是利用正則匹配中文判定。2011-09-09在數(shù)據(jù)量大(超過(guò)10萬(wàn))的情況下
在數(shù)據(jù)量大(超過(guò)10萬(wàn))的情況下...2007-01-01