将每个单词替换为标签
Replace every word with tag
需要JAVASCRIPT或JAVA解决方案
我正在寻找的解决方案可以使用java或javascript。我将 html 代码放在一个字符串中,因此我可以在将其与 java 一起使用之前或之后与 javascript 一起使用之前对其进行操作。
问题
无论如何,我必须用标签包装每个单词。例如:
<html> ... >
Hello every one, cheers
< ... </html>
应改为
<html> ... >
<word>Hello</word> <word>every</word> <word>one</word>, <word>cheers</word>
< ... </html>
为什么?
这将帮助我使用javascript来选择/突出显示一个单词。似乎唯一的方法是使用我在 JAVASCRIPT 提示中添加的函数 highlightElementAtPoint:它只是找到某个 x,y 坐标的元素并突出显示它。我想,如果每个词都是一个元素,那将是可行的。
我们的想法是使用这种方法来允许我们在 android WebView 中检测突出显示的文本,即使这意味着使用扭曲的突出显示方法。多想一想,您会发现许多其他应用程序。
JAVASCRIPT 提示
我使用以下代码突出显示一个单词;但是,这将突出显示属于某个标签的整个文本。当每个单词都是一个标签时,这将在某种程度上起作用。如果有替代品可以让我在某个位置突出显示一个词,那也将是一个解决方案。
function highlightElementAtPoint(xOrdinate, yOrdinate) {
var theElement = document.elementFromPoint(xOrdinate, yOrdinate);
selectedElement = theElement;
theElement.style.backgroundColor = "yellow";
var theName = theElement.nodeName;
var theArray = document.getElementsByTagName(theName);
var theIndex = -1;
for (i = 0; i < theArray.length; i++) {
if (theArray[i] == theElement) {
theIndex = i;
}
}
window.androidselection.selected(theElement.innerHTML);
return theName + " " + theIndex;
}
尝试使用类似的东西
String yourStringHere = yourStringHere.replace(" ", "</word> <word>" )
yourStringHere.replace("<html></word>", "<html>" );//remove first closing word-tag
应该工作,也许你必须改变...
var tags = document.body.innerText.match(/'w+/g);
for(var i=0;i<tags.length;i++){
tags[i] = '<word>' + tags[i] + '</word>';
}
或者正如@ThomasK所说:
var tags = document.body.innerText;
tags = '<word>' + tags + '</word>';
tags = tags.replace(/'s/g,'</word><word>');
但你必须记住:.replace(" ",foo)
只替换一次空间。对于多个替换,您必须使用.replace(/'s+/g,foo)
正如@ajax333221所说,第二种方式将包括逗号、点和其他符号,因此更好的解决方案是第一种
JSFiddle 示例:http://jsfiddle.net/c6ftq/4/
inputStr = inputStr.replaceAll("(?<!</?)''w++(?!''s*>)","<word>$0</word>");
你可以尝试以下代码,
import java.util.StringTokenizer;
public class myTag
{
static String startWordTag = "<Word>";
static String endWordTag = "</Word>";
static String space = " ";
static String myText = "Hello how are you ";
public static void main ( String args[] )
{
StringTokenizer st = new StringTokenizer (myText," ");
StringBuffer sb = new StringBuffer();
while ( st.hasMoreTokens() )
{
sb.append(startWordTag);
sb.append(st.nextToken());
sb.append(endWordTag);
sb.append(space);
}
System.out.println ( "Result:" + sb.toString() );
}
}
- 如何用JavaScript或jQuery替换一堆标签
- 将现有的规范标签替换为javascript或jquery
- 如何用jQuery替换HTML标签的一部分
- 需要查找和替换链接标签
- Eloqua替换<脚本>标签
- 替换<标签>,包含的表单控件除外
- 将多个
标签替换为 JavaScript - 如何在 Javascript 中将音频标签替换为视频标签或将标签替换为另一个标签
- 检测网址/链接,并用 img 标签替换图像,用 href 替换链接
- 如何将选择的所有选项标签替换为其值
- 使用replaceChild javascript将span标签替换为锚标记
- jQuery脚本,用自定义标签替换每个dom元素
- 用链接标签替换匹配的标签/关键字
- 使用 jQuery 将一个标签替换为另一个标签
- 将标签替换为ASP.净dropdownlist
- 如何用视频标签替换标签
- 有没有可能从粘贴在文本区域的html页面中找到这样的标签,并用javascript代码中提到的另一个标签替换它的标签
- 使用自定义 HTML 标签并将自定义标签替换为外部 HTML 可以吗?
- 使用jquery将H3标签替换为H2,如果内容是大写的
- 对于连接较慢的用户,我想用图像标签替换视频标签