萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> 腳本Html教程 >> PHP分頁、防止英文單詞被截段、去除HTML代碼

PHP分頁、防止英文單詞被截段、去除HTML代碼

 這是我剛學PHP時自己寫的一個PHP分頁功能,那時候主要對PHP摸板技術不怎麼熟悉。其中有包括兩個比較經常用到的函數,就是去除HTML代碼 pregstring()和防止英文單詞被截斷的函數 englishSubstr(),通過獲取一個字符串的長度,然後自己要求一個頁面顯示多少長度,進行分頁。

// $content 是一段具有HTML的文本 因為要顯示在手機中所以必須去除HTML的格式,然後再使用PHP摸板技術把裡面的文本內容替換的相應格式的WAP頁面中

$content=pregstring($content);         //去除HTML代碼

$contentSize=strlen($content);         //獲取自符串長度


//計算頁數
$pageCount=($contentSize%$pageSize)==0?floor($contentSize/$pageSize):floor($contentSize/$pageSize)+1;
$center=englishSubstr($content,($page-1)*$pageSize,$pageSize);       //輸出正文內容
$center=$p.$center;
//以下實現分頁效果

if($pageCount>1)
{
if($page<$pageCount)
{
$more="<a href="Content_menu.php?id=$id&amp;page=".($page+1)."&amp;backID=$backID&amp;x=$x">More</a>";
}
}
if($page>1)
{
$prev="<a href="Content_menu.php?id=".$id."&amp;page=".($page-1)."&amp;backID=$backID&amp;x=$x">Prev</a>";
} 
//顯示上一頁和下一頁
if($pageCount>1&&$page>1&&$page<$pageCount)
{
$p=$prev." | ".$more;
}
else
{
$p=$prev.$more;
}

//返回上一級的連接

$back="<a href="Three_menu.php?x=$x&amp;id=$backID&amp;page=1">$t</a>";

$head='<?xml version="1.0" encoding="UTF-8"?>';

$alltitle=$back." > ".$title;


//替換到摸板中顯示
$template->assign( 'HEAD', $head );
$template->assign( 'LOGIN', "" );
$template->assign( 'TITLE', $alltitle );
$template->assign( 'CENTER', $center );
$template->assign( 'PAGE', $p );
$template->assign( 'FOOTER', $footer );
$template->output();
//////////////////以下實現防止英文單詞被截斷///////////////////////

function englishSubstr($str,$start,$end)
{
if($start!=0)
{
if(substr($str,$start-1,1)!=" ")//如果被截的字母前面一個不是空格,表示這個字母並不是一個單詞的開始
{
//那麼我們就去除第一個不完整單詞
$i;
for($i=1;$i<20;$i++)
{
if(substr($str,$start+$i,1)==" ") //向下循環,直到空格為止,然後高空格後的第一個字母為分頁的第一個單詞的開始
{
break;
}
}
$start+=$i;

  }

  }

  if(substr($str,$end,1)!="")//如果結束處不是空格,表示一個單詞還沒有完

  {

  $i;

  for($i=1;$i<20;$i++)//往下循環,直到找到空格後退出,

  {

  if(substr($str,$start+$end+$i,1)==" ")

  {

  break;

  }

  }

  $end+=$i;

  }

  //獲取分斷單詞

  return substr($str,$start,$end);

  }

  //////////////去除HTML標題//////////////////////

  //因為有我做的是WAP網站 所以有的字符在手機中不能顯示,不然會出錯 所以就把一些字符替換掉了 比如$就被我替換成 dollar 了

  function pregstring( $str )

  {

  $strtemp= trim($str);

  $search = array(

  "|'|Uis",

  "|

  "|<[/!]*?[^<>]*?>|Uis",  // 去掉 HTML 標記

  "'&(quot|#34);'i",   // 替換 HTML 實體

  "'&(amp|#38);'i",

  "|,|Uis",

  "|[s]{2,}|is",

  "[ ]isu",

  "|[$]|Uis",

  );

  $replace= array(

  "`",

  "",

  "",

  "",

  "",

  "",

  " ",

  " ",

  " dollar ",

  );

  $text = preg_replace($search, $replace, $strtemp);

  return $text;

  }

copyright © 萬盛學電腦網 all rights reserved