こんにちは、私はいくつかの問題があります:別の段落でjavascriptのコンテキストを囲む選択テキストを取得する方法は?
- 私は、選択した単語の周りの言葉をいただく場合がございます前に、選択されたワード与えられた限度選択した単語を囲むだけで20の言葉の後に単語?段落内の単語が同じ単語を持っている場合は、正しい位置を取得する方法を
- 、例えば私はこのような文があります。その後、私は言葉を選ぶその位置の間にある「foo」というをFOO LAA fooの斗を言葉LAAと斗?
はどのように異なる段落から単語を取得しますか?例えば
:
P1:私は赤いシャツに
P2が好き:私の母は赤いシャツを好きではなかった
私が選択した単語は、「母」で、私が持っています単語の周りの10個の言葉「母」で取るために「私は赤いシャツが好きではありません。」「私は赤いドレスが好き」と
ノート: 質問2号がnextSiblingとのpreviousSiblingを使用することができますか?
これは私がしようと私のコードです:
<html>
<head>
<script type="text/javascript">
function getElements(){
var x = document.getElementsByTagName("body");
x = x[0].innerHTML;
x = x.replace(/&(lt|gt);/g, function (strMatch, p1){
return (p1 == "lt")? "<" : ">";});
var str = x.replace(/<\/?[^>]+(>|$)/g, "");
var emailPattern = /[_a-zA-Z0-9\.][email protected][\.a-zA-Z0-9]+\.[a-zA-Z]+/gi;
var urlPattern = /[a-z]+:\/\/[^\s]+/gi;
var numberOrSymbolPattern = /[0-9\.,[email protected]#\$%\^\&*\(\)`~_\-=\+|\\{}\[\]\s:;<>\?\/]+/gi;
//////alert(str);
var str = str.replace(emailPattern , " ");
var str = str.replace(urlPattern , " ");
var str = str.replace(numberOrSymbolPattern , " ");
//////alert(str);
var str = str.replace(/[\n\f\r\t]/g, " ");
var hilangtandabaca = str.replace(/[.!:;'",?]/g," ");
var kataptg = hilangtandabaca;
//alert(kataptg);
var kata = new Array();
kata[0] = " is ";
kata[1] = " the ";
kata[3] = " of ";
kata[4] = " a ";
kata[5] = " or ";
kata[6] = " for ";
kata[7] = " from ";
kata[8] = " in ";
kata[9] = " this ";
kata[10] = " and ";
kata[11] = " on ";
kata[12] = " with ";
kata[13] = " my ";
for(var i=0,regex; i<kata.length; i++){
var regex = new RegExp(kata[i],"gi");
kataptg = kataptg.replace(regex," ");
}
var select = getSelected()+ "";
alert(select);
var index = kataptg.indexOf(select);
//alert("indeks select text:" + index);
if (index >= 0) {
var strBefore = "";
var strAfter = "";
//var strOri ="";
//if (index = -1)
//strOri = kataptg.substr(index);
//alert(strOri);
if (index > 0)
strBefore = kataptg.substr(0, index);
//alert(strBefore);
if (index < kataptg.length - 1)
strAfter = kataptg.substr(index + select.length, kataptg.length - (index + select.length));
//alert(strAfter);
alert("Before: " + strBefore + "\nAfter: " + strAfter);
}
}
function getSelected() {
var userSelection;
if (window.getSelection) {
userSelection = window.getSelection();
} else if (document.selection) {
userSelection = document.selection.createRange();
}
return userSelection;
}
</script>
</head>
<body>
<h2>About</h2>
<p> my email : [email protected]
<p> my url http://id.wikipedia.org/wiki/URL
<p> my telepon number = 081330782
<p>okey In agriculture, the harvest is the process of gathering mature crops from the fields. Reaping is the cutting of grain or pulse for harvest, typically using a scythe, sickle, or reaper.[1] The harvest marks the end of the growing season, or the growing cycle for a particular crop, and this is the focus of seasonal celebrations of on many religions. On smaller farms with minimal mechanization, harvesting is the most labor-intensive activity of the growing season great yeah. !:;'",?</p>
<p>
<input type="button" onclick="getElements()" value="ambil select text" />
</p>
</body>
</html>
私は(HTTP前に、この非常によく似質問にあなたの賢明な答えを与えてくれました! //stackoverflow.com/questions/4332753/how-to-get-selected-text-but-can-i-get-surrounding-context-in-j avascript/4333439#4333439)、あなたは無視したようです。なぜあなたはそれを無視しましたか?あなたがそれを理解していない場合、あなたはコメントの明確化を求めることができます。 –