勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

htmlタグが入った内容の文字を丸める

      2014/07/03

phpである文字列が○文字以上だった際、

省略してお尻に「……」をつけたいという場合、

mb_strimwidth($str,開始位置,終了位置,'丸めたあとの文字')

を最近使う。

■リファレンス

http://jp2.php.net/mb_strimwidth

ただ、今日困ったのがhtmlタグが入っている変数を

出力した際にちゃんと文字を丸めてくれない。恐らくタグの部分もカウントされているからっぽい。

で、やりたい事は、

・文字を丸めたい

・aタグやfontタグはほっといて文字列だけ丸めたい

というもの。

悩んだ結果PHPで出力したものをjQueryで読み込んで

指定文字以上なら書き換えるということで解決した。

■ソース

<?php
error_reporting(E_ALL & ~E_NOTICE);
extract($_REQUEST);
$str = '<p><font size="3" color="red"><a href="http://taitan916.hateblo.jp/" target="blank">リンクリンクリンクリンク</a></font></p>';
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transtional//EN" "http://www.w3c.org/TR/html4/loose.dtd">
<meta http-equiv="content-type" content="text/html"/>
<meta cherset = "UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(function(){
var str = $('#str').text();
alert(str);
if (str.length > 5) { //丸める対象の文字が5文字以上なら
$('#str').text(str.substring(0,5) + "…"); //丸めて後ろに…を付ける
}
});
</script>
<html lang="ja">
<head>
<title>文字を丸める</title>
</head>
<body>
<h1>文字を丸める</h1>
丸められない。途中でタグがとれて変になる。⇒<?php // echo mb_strimwidth($str,0,5,'…');?><br>
<span id="str"><?php echo $str;?></span>
</body>
</html>

 - jQuery

  関連記事

jQueryのappendとprepend

よく忘れるのでメモ。 ■append(後ろに足す) http://semooh. ...

jQuery.uploadでリアルタイムプレビュー

やりたい事は、 ・<input type="file">で画像を選択 ...

jQueryで画像が存在すれば表示、なければノーイメージ画像を表示

やりたかった事は以下の通り。 ・画像のURLはcode.jpgみたいになってる ...

Jcropを使ってブラウザ上で画像を範囲指定して切り抜き(トリミング)

やりたかった事は、画像をアップロードして必要な部分のみを範囲指定してもらい、指定 ...

画像の登録フォームにてjQueryプラグインを用いてWebカメラの映像を撮影させる方法

form内の画像アップロード部分にて、通常であれば画像ファイルを参照させたものを ...

PHPとSQLiteでi-mobileのデータをグラフ化

i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフ ...

jQueryプラグインを作成する方法

jQueryのプラグインを作ってみたかった。 というのも大抵のものはググったらあ ...

jQueryで画像(タグ内)のsrc情報を取得する場合

すぐに出てこなかったのでメモ。 $('#test').attr('src'); ...

jQueryでjsonデータを処理(parseJSON)

他社が作成したシステムのちょっと改修案件があった。設置したもののどうも動かないと ...

jquery.cookie.jsでcookieを取り扱う

機能拡張の依頼があってそのページを見たら jquery.cookie.jsが読み ...