php 擷取字串bug

2021-09-30 13:12:53 字數 762 閱讀 5231

php有很多擷取字串的函式,mb_substr就是其中乙個,不僅適用於英文還適合中文擷取。

但是在擷取字串,我遇到了以下bug

$result = mysql_query($sql);

while($row = mysql_fetch_assoc($result))

解決 方法是去除要擷取內容中的html標籤。

<?php 

$string = preg_replace ("/(\<[^\<]*\>|\r|\n|\s|\[.+?\])/is", ' ', $row['a_content']);

$string = htmlspecialchars($string);

echo mb_substr($string, 0,180,'utf-8');

?>......

把預定義的字元 "<" (小於)和 ">" (大於)轉換為 html 實體:

<?php

$str = "this is someboldtext.";

echo htmlspecialchars($str);

?>

以上**的 html 輸出如下(檢視源**):

this is someboldtext.

以上**的瀏覽器輸出:

this is someboldtext.

PHP擷取字串

php 自帶幾種字串擷取函式,其中常用到的就是 substr 和 mb substr。前者在處理中文時,gbk 為 2 個長度單位,utf 為 3 個長度單位,後者指定編碼後,乙個中文即為 1 個長度單位。substr 不用說,有時會截 1 3 個中文或半個中文,當然顯示出來是亂碼了,相對來說 mb...

PHP擷取字串

php 構造字串 str abcdefghijklmnopqrstuvwxyz echo 原字串 str.按各種方式進行擷取 str1 substr str,5 echo 從第5個字元開始取至最後 str1.str2 substr str,9,4 echo 從第9個字元開始取4個字元 str2.st...

PHP擷取字串

1.擷取gb2312中文字串 php 擷取中文字串 function mysubstr str,start,len else tmpstr substr str,i,1 return tmpstr 2.擷取utf8編碼的多位元組字串 php 擷取utf8字串 function utf8substr ...