• ベストアンサー

日本語混じりの文字列の語数制限

$str='abcおはようございます。ohayougozaimasu'; を最初から8文字取り出して文字列変数$str0に入れたいのですがどうしたらいいのでしょうか? 日本語と半角文字が混ざっているのできり方を間違えると大変なことになります

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

マルチバイト文字列関数(mbstring)が使えれば <?php $str='abcおはようございます。ohayougozaimasu'; echo mb_strcut($str, 0, 8, "sjis"); //8バイト以下で echo "<br>\n"; echo mb_substr($str, 0, 8, "sjis"); //8文字で ?>

guuman
質問者

お礼

ありがとうございます <?= '<?xml version="1.0" encoding="utf-8"?>' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8"/> <title>test</title> </head> <body> <?php $str='abcおはようございます。ohayougozaimasu'; echo $str.'<br/>'; echo mb_strcut($str, 0, 8, "utf-8"); //8バイト以下で echo "<br>\n"; echo mb_substr($str, 0, 8, "utf-8"); //8文字で ?> </body> </html> でできました

関連するQ&A