javascript で タグで囲まれた(挟まれた)文字列を抜き出す。

javascript で タグで囲まれた(挟まれた)文字列を抜き出す。

javascript で HTML のタグで囲まれた(挟まれたともいう)文字列を抜き出すのにはまっちゃいました。

ポイントは以下の通り。
通常思いつくのは、
/<body>(.*?)</\body>/

なんですけど、これって実は改行までの話なんですね。

改行も込みで処理させないと目的の body と /body の間の文字列は抜き出せないんです。

しかも今回は、 match をつかっていたので情報が薄い薄い。


結論を言えば、こう書けばいいということがわかりました。

var reg=/<body>([\s\S]*?)<\/body>/;
 :
retn=data.match(reg)[1];

簡単そうで案外はまります。

結構使うと思うんですけどね、web page を引っ張って title を抜き出すとかと言う場面も案外。。。ないか。

まぁ、yahoo shopping のページとかの title って改行してたりしますよね?

いやはや、とれない取れない、散々はまりました。

javascript で HTML のタグで囲まれた(挟まれたともいう)文字列を抜き出すには、改行も加味しないといけません。


javascript で WEB PAGE を取り込んで body タグで囲まれた(挟まれた)文字列を抜き出して表示させる時のひな形

ボタンを押されたらWEB CGI を呼び出して、結果を表示する
ボタンを再度押されたら表示してある結果を消す。
といった仕様の場合

読み込んでいる最中、読み込んでますよのぐるぐるが欲しいね < なんのこっちゃ?!
---- html ----

<!-- data0 -->
<input type="button" id="btn0" name="btn0"
	value="▼" OnClick="webcgi('#userarea0','#btn0');">
<div id="userarea0">ここに結果が入る</div>

<!-- data1 -->
<input type="button" id="btn1" name="btn1"
	value="▼" OnClick="webcgi('#userarea1','#btn1');">
<div id="userarea1">ここに結果が入る</div>

--------------
<script>
<!--
	function webcgi(smbl,butn)
	{
		var url;
		var data;
		var retn;
		var reg=/<body>([\s\S]*?)<\/body>/;
		
		if( $(butn).val()=='×' ){
			$(butn).val("▼");
			$(smbl).html("");
		}else{
			url='https://~~/dataget.php';
			$.get(url, function(data) {
					retn=data.match(reg)[1];
					$(butn).val("×");
					$(smbl).html(retn);
				});
		}
	}
-->
</script> 
ひな形にして使ってください。


スポンサーリンク