English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

使用php語法製作網頁
想要把網頁上由資料庫的讀取的資料
利用
substr([php資料庫抓取的欄位資料語法];0,50)
想要擷取一定字串長度的資料時
卻會在尾巴有亂碼出現呢?
如:
古都的蛻變-龍應台看?/a>
請用文明來說服我/龍?/a>

怎麼有時候在網頁上顯示被截斷會出現小小的亂碼如?/a> 這般
請問各位朋友 該怎麼解決呢..?

感激不盡

2007-02-14 08:26:22 · 2 個解答 · 發問者 ? 1 in 電腦與網際網路 程式設計

2 個解答

在下剛好有一個範例
這範例是在下用來抓取新聞訊息當作列表標題用的
稍微修改一下,運用遞迴來執行抓取固定每行字串
剛好符合您的需要。

此範例不論是全數字或英文且沒有任何空白分隔
或是英文文章最後一個單字太長而會自行到下行團圓
或是中英混雜的文章都可以適用

唯一會剩下的問題是只有當中英混雜每個字的字元數不一樣
而切出的每一行時,兩行相間最後會有一個字元(半個中文字)
仍然無法完全齊尾,其他的就都沒問題了。

在下另外有個建議
就是除了用的以下的function以外,最好將function處理過的內容
再用< pre >< /pre >標籤包起來,這樣至少可以更整齊一點。

自定的函式

function SplitText ($TEXT) {
$ct=42; //每一行要斷的字元數
for($wr=0;$wr<$ct;$wr ) {
$ch=substr($TEXT,$wr,1);
if(ord($ch)>127) $wr ;
//偵測最後一個字元
//若大於127,即表示是中文字,必須增加一個字元
//否則切出來會是半個中文字
}
$newTEXT .=substr($TEXT,0,$wr)."
";
echo $newTEXT;
$subTEXT=substr($TEXT,$wr);
if (strlen($subTEXT) <= $ct) {echo $subTEXT;}//結束
else {SplitText ($subTEXT);}//未切完的一直到切完為止
}
?>

實際套用(您可以自行改變中英混合內容試試)

$a="(中央社記者郭美瑜台北十九日電)陽明山花季大年初三登場,陽明山上的海芋田向遊客招手,台北市建設局表示,海芋季通常在陽明山花季結束後接力演出,今年訂在三月二十三日展開。但受暖冬氣候影響,海芋已開花,現在又是山櫻花盛開時節,建議民眾春節期間上山採海芋,享受竹子湖歸園田居的悠閒。";
echo "

";
echo SplitText ($a);
echo "
";
?>

2007-02-20 03:49:33 補充:
避免yahoo因字元過濾而導致程式碼錯誤
請至此看範例及完整正確程式碼
http://swc.sdcs.com.tw/YahooKnowledge/q55/substr.php

2007-02-19 22:47:57 · answer #1 · answered by 冷泡茶 6 · 0 0

下面的網址應該對你有幫助

http://phi008780420.pixnet.net/blog

2014-04-22 08:00:02 · answer #2 · answered by Anonymous · 0 0

fedest.com, questions and answers