web関連

【js】特定の文字を置換かける

【js】特定の文字を置換かける

縦書きのcssをあてたらテキストの約物(「」括弧)が横書きの括弧になってしまったので、そこだけ置換でfont-family変更した時の備忘録

「」を置換するjsコード

「」それぞれを挟むようにspanタグを追加しています。
※classつけてcssでfont-familyで調整しようとした時のコード

$('#replace_txt').each(function(){
	var txt = $(this).html();
	$(this).html(txt.replace(/「/g,'<span class="yakumono">「</span>').replace(/」/g,'<span class="yakumono">」</span>')
	);
});

一度参考にしたコードを元に「.text()」関数を使って置換かけたら表示おかしくなって上手くいかなかった。
「.text()」って対象のテキスト部分のみ抜き出すんすね。
htmlのタグも含んで置換かけないといけなかったんで「.html()」関数使った。

正規表現よくわからないんで後で調べたい

▼JavaScriptで正規表現(文字列置換え編)
https://qiita.com/hrdaya/items/291276a5a20971592216

↓一応テキストを縦書きにするcss(メモ)
css{
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

「」が横文字の「」になってしまった原因は
約物を半角にするYaku Han JPを使ってたのが原因だった
消したらなおった