亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

老師,是不是截取的字符串為27個而不是29個,貌似總是少兩個???有這種情況嗎???

正在回答

3 回答

代碼沒錯。php的substr對英文數字有效,對漢字截取不準。


一個漢字在utf8狀態下占三個字節,在gbk占兩個字節,如果用substr截取的畫,就得判斷編碼,然后再算出字節數。


也可以按照php的 mbstring擴展,使用mb_substr  這樣就精確多了。相關內容可以百度一下。


0 回復 有任何疑惑可以回復我~

貼一下你的代碼

0 回復 有任何疑惑可以回復我~

{testblock change='true' length=3}

{$str11}

{/testblock}

///////

<?php

require('../smarty/Smarty.class.php');

$smarty=new Smarty();

//五配置兩方法

$smarty->left_delimiter="{";

$smarty->right_delimiter="}";

$smarty->template_dir="tpl";

$smarty->cache_dir="cache";

$smarty->compile_dir="template_c";

$smarty->assign('str11','01234567890123456789');

$smarty->display('block.tpl');

/////////////////////

<?php

function smarty_block_testblock($params,$content)

{

$change=$params['change'];

$length=$params['length'];

if($change=='true')

{

$content=str_replace(0,'A',$content);

}

$content=substr($content,0,$length);

return $content;

}

////////////////

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
MVC架構模式分析與設計
  • 參與學習       82428    人
  • 解答問題       954    個

通過學習MVC理論知識,由淺入深帶您實現人生第一個MVC框架

進入課程
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號