欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

php截取html字符串及自動補全html標簽的方法_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:php在linux下檢測mysql同步狀態的方法
這篇文章主要介紹了php在linux下檢測mysql同步狀態的方法,是Linux下使用php檢測mysql同步狀態的實用技巧,具有一定參考借鑒價值,需要的朋友可以參考下 本文實例講述了php在linux下檢測mysql同步狀態的方法。分享給大家供大家參考。具體分析如下: 這里通過兩個實例來介

 這篇文章主要介紹了php截取html字符串及自動補全html標簽的方法,是php對html操作非常實用的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

   

本文實例講述了php截取html字符串及自動補全html標簽的方法。分享給大家供大家參考。具體分析如下:

這里總結一下關于利用php截取html字符串自動補全html標簽,實際開發中會經常碰到,很多人直接先strip_tags過濾掉html標簽,但是就只剩下純文本了,可讀性非常差,下面是一個函數,代碼如下:

代碼如下: /**
* 截取HTML,并自動補全閉合
* @param $html
* @param $length
* @param $end
*/
function subHtml($html,$length) {
$result = '';
$tagStack = array();
$len = 0;

$contents = preg_split("~(<[^>]+?>)~si",$html, -1,PREG_SPLIT_NO_EMPTY| PREG_SPLIT_DELIM_CAPTURE);
foreach($contents as $tag)
{
if (trim($tag)=="") continue;
if(preg_match("~<([a-z0-9]+)[^/>]*?/>~si",$tag)){
$result .= $tag;
}else if(preg_match("~</([a-z0-9]+)[^/>]*?>~si",$tag,$match)){
if($tagStack[count($tagStack)-1] == $match[1]){
array_pop($tagStack);
$result .= $tag;
}
}else if(preg_match("~<([a-z0-9]+)[^/>]*?>~si",$tag,$match)){
array_push($tagStack,$match[1]);
$result .= $tag;
}else if(preg_match("~<!--.*?-->~si",$tag)){
$result .= $tag;
}else{
if($len + mstrlen($tag) < $length){
$result .= $tag;
$len += mstrlen($tag);
}else {
$str = msubstr($tag,0,$length-$len+1);
$result .= $str;
break;
}

}
}
while(!emptyempty($tagStack)){
$result .= '</'.array_pop($tagStack).'>';
}
return $result;
}

/**
* 截取中文字符串
* @param $string 字符串
* @param $start 起始位
* @param $length 長度
* @param $charset 編碼
* @param $dot 附加字串
*/
function msubstr($string, $start, $length,$dot='',$charset = 'UTF-8') {
$string = str_replace(array('&', '"', '<', '>',' '), array('&', '"', '<', '>',' '), $string);
if(strlen($string) <= $length) {
return $string;
}

if(strtolower($charset) == 'utf-8') {
$n = $tn = $noc = 0;
while($n < strlen($string)) {
$t = ord($string[$n]);
if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
$tn = 1; $n++;
} elseif(194 <= $t && $t <= 223) {
$tn = 2; $n += 2;
} elseif(224 <= $t && $t <= 239) {
$tn = 3; $n += 3;
} elseif(240 <= $t && $t <= 247) {
$tn = 4; $n += 4;
} elseif(248 <= $t && $t <= 251) {
$tn = 5; $n += 5;
} elseif($t == 252 || $t == 253) {
$tn = 6; $n += 6;
} else {
$n++;
}
$noc++;
if($noc >= $length) {
break;
}
}
if($noc > $length) {
$n -= $tn;
}
$strcut = substr($string, 0, $n);
} else {
for($i = 0; $i < $length; $i++) {
$strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
}
}

return $strcut.$dot;
}

/**
* 取得字符串的長度,包括中英文。
*/
function mstrlen($str,$charset = 'UTF-8'){
if (function_exists('mb_substr')) {
$length=mb_strlen($str,$charset);
} elseif (function_exists('iconv_substr')) {
$length=iconv_strlen($str,$charset);
} else {
preg_match_all("/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/", $text, $ar);
$length=count($ar[0]);
}
return $length;
}
實例,代碼如下:
復制代碼 代碼如下: * @param 要截取的HTML $str
* @param 截取的數量 $num
* @param 是否需要加上更多 $more
* @return 截取串
*/
function phpos_chsubstr_ahtml($str,$num,$more=false)
{
$leng=strlen($str);
if($num>=$leng)
return $str;
$word=0;
$i=0; /** 字符串指針 **/
$stag=array(array()); /** 存放開始HTML的標志 **/
$etag=array(array()); /** 存放結束HTML的標志 **/
$sp = 0;
$ep = 0;
while($word!=$num)
{
if(ord($str[$i])>128)
{
//$re.=substr($str,$i,3);
$i+=3;
$word++;
}
else if ($str[$i]=='<')
{
if ($str[$i+1] == '!')
{
$i++;
continue;
}

if ($str[$i+1]=='/')
{
$ptag=&$etag ;
$k=&$ep;
$i+=2;
}
else
{
$ptag=&$stag;
$i+=1;
$k=&$sp;
}

for(;$i<$leng;$i++)
{
if ($str[$i] == ' ')
{
$ptag[$k] = implode('',$ptag[$k]);
$k++;
break;
}
if ($str[$i] != '>')
{
$ptag[$k][]=$str[$i];
continue;
}
else
{
$ptag[$k] = implode('',$ptag[$k]);
$k++;
break;
}
}
$i++;
continue;
}
else
{
//$re.=substr($str,$i,1);
$word++;
$i++;
}
}
foreach ($etag as $val)
{
$key1=array_search($val,$stag);
if ($key1 !== false) unset($stag[$key]);
}
foreach ($stag as $key => $val)
{
if (in_array($val,array('br','img'))) unset($stag[$key1]);
}
array_reverse($stag);
$ends = '</'.implode('></',$stag).'>';
$re = substr($str,0,$i).$ends;
if($more) $re.='...';
return $re;
}
PHP截取字符串,生成文章摘要,我們在寫BLOG時經常需要顯示文章前一部分,但是又怕不恰當截斷破壞封閉標簽以造成整個文檔結構破壞,代碼如下:
復制代碼 代碼如下: function text_zhaiyao($text,$length){ //文章摘要生成函數 $test:內容 $length:摘要長度
global $Briefing_Length;
mb_regex_encoding("UTF-8");
if(mb_strlen($text) <= $length ) return $text;
$Foremost = mb_substr($text, 0, $length);
$re = "<(/?)
(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|TABLE|TR|TD|TH|INPUT|SELECT|TEXTAREA|OBJECT|A|UL|OL|LI|
BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT|SPAN)[^>]*(>?)";
$Single = "/BASE|META|LINK|HR|BR|PARAM|IMG|AREA|INPUT|BR/i";

$Stack = array(); $posStack = array();

mb_ereg_search_init($Foremost, $re, 'i');

while($pos = mb_ereg_search_pos()){
$match = mb_ereg_search_getregs();
/* [Child-matching Formulation]:

$matche[1] : A "/" charactor indicating whether current "<...>" Friction is
Closing Part
$matche[2] : Element Name.
$matche[3] : Right > of a "<...>" Friction
*/
if($match[1]==""){
$Elem = $match[2];
if(mb_eregi($Single, $Elem) && $match[3] !=""){
continue;
}

 

希望本文所述對大家的php程序設計有所幫助。

分享:將FCKeditor導入PHP+SMARTY的實現方法
這篇文章主要介紹了將FCKeditor導入PHP+SMARTY的實現方法,涉及整合FCKeditor與SMARTY的技巧,非常具有實用價值,需要的朋友可以參考下 本文實例講述了將FCKeditor導入PHP+SMARTY的實現方法。分享給大家供大家參考。具體分析如下: 提取Fckeditor時,采用如下,PHP用$_POST['

來源:模板無憂//所屬分類:PHP教程/更新時間:2015-03-24
相關PHP教程
日韩免费中文字幕| 中日韩一级黄色片| 亚洲精品一区二区18漫画| 国产真人真事毛片| 91p九色成人| 亚洲欧洲成人在线| 欧美jizz| 久久色.com| 欧美成人vps| 国产精品看片资源| 精品无码一区二区三区在线| 国产视频123区| 88xx成人永久免费观看| 亚洲激情网站| 亚洲一区在线观看免费| 色偷偷亚洲男人天堂| 国内精品久久国产| 超级砰砰砰97免费观看最新一期| 精品国自产在线观看| 波多野结衣在线观看一区二区三区| 成人av免费在线播放| 91麻豆精品国产91久久久更新时间| 91av在线国产| 久久久久99精品成人片| 五月天激情丁香| 国产原创一区| 日韩成人一区二区三区在线观看| 天天操天天色综合| 欧美激情第6页| 国产激情片在线观看| 性欧美videos| 欧美极品中文字幕| 久久精品亚洲精品国产欧美kt∨| 亚洲精品福利在线| 精品日韩美女| 欧美高清性xxxx| 69久成人做爰电影| 久久久噜噜噜久久狠狠50岁| 精品久久久久久中文字幕一区奶水| 国产精品免费一区| 特大黑人巨人吊xxxx| 久久天堂久久| 国产成人8x视频一区二区| 日韩一卡二卡三卡国产欧美| 成人黄色免费在线观看| 亚洲精品久久久中文字幕| 久久这里只有精品9| 欧美精品一区二区三区精品| 国产欧美一区二区三区网站| 亚洲天堂av高清| 日韩欧美精品一区二区| 国产午夜福利一区| 日韩免费在线电影| 国产精品亚洲第一| 亚洲精品www久久久久久广东| 一级二级三级欧美| 美国黄色小视频| 久草精品视频| 久久久精品tv| 欧美性视频在线| 欧美精品aaaa| 天堂网视频在线| 日韩精品免费一区二区三区| 亚洲欧美欧美一区二区三区| 欧美福利小视频| 中文字幕55页| 中文字幕不卡三区视频| 粉嫩av一区二区三区| 九九热99久久久国产盗摄| 99热亚洲精品| 免费又黄又爽又猛大片午夜| 自由日本语亚洲人高潮| 亚洲一区二区三区四区五区黄| 亚洲一区精品电影| 黄色免费看视频| 欧美色999| 国产视频一区二区在线| 俺去亚洲欧洲欧美日韩| 青春草国产视频| 亚洲乱色熟女一区二区三区| 日韩电影在线看| 亚洲性生活视频| 粉嫩av一区二区三区天美传媒 | 亚洲专区**| 91丨porny丨国产| www国产精品视频| 亚洲黄色av片| 欧美××××黑人××性爽| 国产精品乡下勾搭老头1| 欧美日韩成人在线视频| 日本一卡二卡在线| 欧美精美视频| 91精品国产欧美一区二区成人| 蜜桃91精品入口| 精品自拍偷拍视频| 红桃视频欧美| 911精品国产一区二区在线| 天天操天天干天天玩| 在线观看免费av片| 国内自拍一区| 国产丝袜一区视频在线观看| 国产免费裸体视频| 国产又爽又黄免费软件| 日韩和欧美一区二区| 日韩中文综合网| 无码人妻aⅴ一区二区三区玉蒲团| 成人一区视频| 一区二区三区精密机械公司| 国产精品自产拍在线观看中文 | 深爱五月激情网| 深夜福利一区| 欧美激情一区二区三区不卡| 91精品中国老女人| 国产又粗又猛又爽又黄的视频小说| 老汉色老汉首页av亚洲| 欧美在线999| 日本一区不卡| 日韩不卡视频在线| 国产精品一级| 亚洲精品98久久久久久中文字幕| 能看的毛片网站| 99re8这里有精品热视频免费| 亚洲私人影院在线观看| 国产一区视频在线播放| 国产真人真事毛片视频| 在线观看不卡| 亚洲第一综合天堂另类专| 国产在线xxxx| 国内欧美日韩| 日韩欧美在线视频免费观看| 欧美精品v日韩精品v国产精品| 亚洲黄色一区二区| 亚洲毛片网站| 久久九九精品99国产精品| 亚洲污视频在线观看| 精品国产欧美日韩一区二区三区| 一区二区免费在线| 中文字幕一区二区三区乱码 | 亚洲成熟女性毛茸茸| 国产精品美女久久久久久久网站| 国产成人av网| 波多野结衣一二三四区| 亚洲精品四区| 欧美日韩高清在线观看| 秋霞欧美一区二区三区视频免费| 视频一区二区不卡| 久久精品成人动漫| 久久精品—区二区三区舞蹈| 奇米影视亚洲| 亚洲人在线视频| 97人妻天天摸天天爽天天| 怡红院精品视频在线观看极品| 久久久国产一区| 国产成人在线网址| 麻豆国产精品一区二区三区| 久久在线免费观看视频| 香蕉视频污视频| 狠狠做六月爱婷婷综合aⅴ| 欧美猛男gaygay网站| 丰满人妻一区二区三区53号| 成人永久在线| 激情亚洲一区二区三区四区| 伊人久久在线观看| 99国产精品免费网站| 欧美xingq一区二区| 中文字幕一区二区三区人妻在线视频| 国产精品啊啊啊| 久久久久久久久久av| 一卡二卡三卡四卡| 久久经典综合| 国产精品久久综合av爱欲tv| 在线视频你懂得| 不卡免费追剧大全电视剧网站| 99久久久精品免费观看国产 | 国产又色又爽又黄又免费| 亚洲欧洲韩国日本视频 | 日韩有码av| 精品视频色一区| 国产天堂视频在线观看| 高清日韩欧美| 欧美日韩亚洲丝袜制服| 午夜免费看视频| 在线国产一区| 久久国产色av| 人人人妻人人澡人人爽欧美一区| 日韩中文字幕区一区有砖一区| 国产精品久久久久久久久久久久久久 | 欧美日韩精品免费观看| 成人福利一区二区| 欧美一区二区在线不卡| 亚洲av无码成人精品区| 午夜亚洲视频| 欧美激情videos| 精品欧美一区二区三区免费观看 | 一区二区三区免费看视频| 免费影院在线观看一区| 国产精品亚洲成在人线| 日韩欧美国产一区在线观看| 99视频在线免费| 香蕉久久网站| 最近中文字幕日韩精品| 国产盗摄x88av| 91麻豆国产精品久久| 一区二区不卡在线| 国产成人一二片| 中文字幕不卡在线视频极品| 国产三级视频网站| 国产在线视频一区二区三区| 国产精品久久久久av| 国产农村妇女毛片精品久久| 亚洲欧洲另类国产综合| 三上悠亚久久精品| 99视频精品全国免费| 中文字幕精品www乱入免费视频| 乱h高h女3p含苞待放| 久久伊人中文字幕| 欧美一二三不卡| 日韩理论电影院| 91产国在线观看动作片喷水| ,亚洲人成毛片在线播放| 欧美高清在线一区| 午夜免费电影一区在线观看| 欧美电影网站| 欧美不卡在线视频| 91大神福利视频| av网站一区二区三区| 国产亚洲一区二区三区在线播放| 亚洲精品一区三区三区在线观看| 精品欧美一区二区久久| 大胸美女被爆操| 91在线一区二区三区| 老牛影视免费一区二区| 日韩精品一区二区三区中文| 中文日韩在线视频| 国偷自拍第113页| 亚洲一区二区高清| 三级黄色片免费看| 寂寞少妇一区二区三区| 成人羞羞视频免费| 五月天福利视频| 欧美变态tickle挠乳网站| 国产大片免费看| **性色生活片久久毛片| 天天操天天爽天天射| 狂野欧美性猛交xxxx巴西| 九九九九精品| 偷窥自拍亚洲色图精选| 久久人人爽人人爽人人片av高请| 成人免费a视频| 亚洲妇女屁股眼交7| 国产福利视频在线播放| 激情婷婷综合| 奇米成人av国产一区二区三区| 天天综合久久综合| 欧美视频在线观看免费| 五十路六十路七十路熟婆| 三级久久三级久久| 美乳视频一区二区| 深爱激情综合网| 国产成人91久久精品| 少妇精品视频一区二区免费看| 一本色道久久88亚洲综合88| 欧美性x x x| 91小视频在线| 欧美二区在线视频| 99久久婷婷这里只有精品| 国产精品久久久久免费a∨| 88xx成人网| 日韩中文字幕在线播放| 91麻豆成人精品国产| 欧美一区二区在线视频| 免费中文字幕视频| 国产欧美精品一区| 久久午夜夜伦鲁鲁一区二区| 免费视频最近日韩| 精品视频一区二区| 亚洲裸色大胆大尺寸艺术写真| 久久久久999| 国产特级黄色片| 亚洲精品在线观| 爱爱视频免费在线观看| 一区二区久久久久久| 看全色黄大色黄女片18| 久久久激情视频| 在线观看免费视频高清游戏推荐| 国产精品1区二区.| 亚洲乱码国产乱码精品天美传媒| 激情亚洲另类图片区小说区| 4k岛国日韩精品**专区| 懂色aⅴ精品一区二区三区| 久久影院中文字幕| 综合另类专区| 久久伊人免费视频| 亚洲欧美韩国| 亚洲国产精品人久久电影| 色屁屁影院www国产高清麻豆| 欧美日韩国产系列| 成人性生交大免费看| 99在线精品免费| 2025韩国理伦片在线观看| 国产成人8x视频一区二区| 草草草在线视频| 玖玖玖国产精品| 欧美日韩午夜爽爽| 日韩av在线播放中文字幕| 久久亚洲国产成人精品无码区 | 精品乱码亚洲一区二区不卡| 国产suv精品一区二区33| 精品久久久久久中文字幕一区奶水 | 欧美极品在线观看| 成人激情av| 日韩中文字幕高清在线观看| 国产综合欧美在线看| 亚洲电影在线一区二区三区| 欧美成熟毛茸茸复古| 欧美精品啪啪| 草莓视频一区| 日韩在线欧美| 免费电影一区| 影音先锋在线一区| 成年人黄色在线观看| 欧美jizzhd精品欧美巨大免费| 91久久精品国产91久久| 香蕉久久夜色精品国产更新时间| 亚洲精品欧美日韩| 欧美hentaied在线观看| 欧美一区免费视频| 一区二区福利| 欧美日本国产精品| 很黄很黄激情成人| 中文字幕在线乱| 久久99精品视频| 国产激情片在线观看| 毛片一区二区三区| 日韩中文字幕二区| 91丝袜高跟美女视频| 亚洲麻豆一区二区三区| 亚洲欧美国产三级| 在线观看黄网址| 欧美日韩一区二区三区不卡| 无码人妻丰满熟妇区五十路 | 九九精品在线观看| 亚洲一区av| 欧美日韩成人精品| 久久精品免视看国产成人| 国产一区二区色| 亚洲精品一二三区区别| 一本一本a久久| 久久成人久久爱| 亚洲美女性囗交| 成人视屏免费看| 欧美性猛交久久久乱大交小说| www.色精品| 亚洲av无码一区二区三区观看 | 国产精品日韩一区二区| 久久93精品国产91久久综合| 精品欧美日韩在线| 久久三级福利| 欧美性猛交久久久乱大交小说| 国产精品视频一二| 国产一区第一页| 欧美一区二区三区性视频| 国内老熟妇对白hdxxxx| 亚洲欧美精品suv| 99热这里只有精品5| 九色成人免费视频| 国产精品xxxav免费视频| 国产精品毛片一区视频 | 亚洲精品国产精品久久| 老司机精品视频导航| 午夜av中文字幕| bt7086福利一区国产| 精品国产人妻一区二区三区| 日韩欧美国产免费播放| 中文字幕乱码视频| 精品亚洲精品福利线在观看| 亚洲人视频在线观看| 国产精品电影观看| 伊人色**天天综合婷婷| 国内精品在线观看视频| 久久精品亚洲一区二区三区浴池| 香蕉成人在线视频| 精品久久一区二区| 日韩免费va| 91中文字幕在线| 伊人影院久久| 北条麻妃在线视频| 亚洲欧美日韩国产手机在线| 久久精品国产亚洲av高清色欲| 亚洲欧美中文字幕| 久久中文字幕一区二区| 国产麻豆乱码精品一区二区三区 | 欧美日韩一区二区三区高清| 国产成人三级在线播放| 45www国产精品网站| 亚洲视频电影在线| 妞干网在线免费视频| 亚洲黄色小说网站| 亚洲中文一区二区| 久久久免费观看|