如何使文本中的每个单词都可点击并将其发送到脚本

Posted

技术标签:

【中文标题】如何使文本中的每个单词都可点击并将其发送到脚本【英文标题】:How to make every word in the text clickable and send it to the script 【发布时间】:2011-01-31 07:08:17 【问题描述】:

我有一个例子

“敏捷的棕色狐狸跳过懒惰的狗。敏捷的棕色狐狸跳过懒惰的狗。敏捷的棕色狐狸跳过懒惰的狗。敏捷的棕色狐狸跳跃

在懒惰的狗身上。”

当我点击单词时,我必须从 XML 或 mysql 中获取有关该单词的数据。

如何使每个单词都可以点击并发送到另一个脚本

例如:我点击狗,在新窗口中我得到关于狗的信息?关于狐狸狐狸?每个单词都必须是可点击的

有任何想法、链接或示例吗?

使用php、mysql、jquery、ajax

【问题讨论】:

我不认为你想要每一个字。我确定您不想要“the”或“over”之类的东西? 【参考方案1】:

将每个单词包装在自己的 span 中,可能使用 CSS 类将它们区分为“word spans”。为该类的所有 span 添加一个悬停处理程序,该处理程序提取内容并执行 ajax 请求以获取与该单词关联的数据。如果你得到一些数据,弹出一个 DIV(“提示”),其中包含与鼠标位置相关的信息,并有一个 z-index 允许它浮动在其余内容上。当鼠标不在跨度上时,删除关联的“提示”。

有多种用于 jQuery 的“提示”插件,您可以轻松适应此要求。

<span class="word">the</span> <span class="word">quick</span> ...

// use a ficticious tooltip plugin that uses gettip.php and passes
// the content of the DOM element as a parameter
$('span.word').tooltip( url: '/gettip.php' );

注意:您可能只想对感兴趣的单词执行此操作,而不是页面上的每个单词。也就是说,有一个需要工具提示的单词字典,并且只将这些单词包装在字典中存在的页面上。对每一个可能的单词都这样做是没有意义的(除非它是一个语法应用程序)。

【讨论】:

或者你可以用相同的 CSS 类包装单词,并使用 jQuery 获取当前的内部值以获得正确的提示。 @michele -- 我想这就是我所说的。也许举个例子会有所帮助。 对不起,也许一开始我误解了你的回答,你的例子正是我的想法!【参考方案2】:

一个问题太多了。我会从标题中回答一个。 假设您将“单词”定义为以空格分隔的字符组。 因此,您可以使用explode() 函数并获取单词数组

现在你可以遍历它的数组并以任何你想要的方式打印出来:

$string = "The quick brown fox jumps over the lazy dog";
$array = explode(" ",$string);

foreach ($array as $word) 
  $eword=urlencode($word);
  echo "<a href=getinfo.php?word=$eword>$word</a> ";

所以,你会有你的链接,现在你必须得到一本 php/mysql 初学者的书来学习如何写剩下的

【讨论】:

但这会扩大页面的大小 你可以用 javascript 做同样的事情。

以上是关于如何使文本中的每个单词都可点击并将其发送到脚本的主要内容,如果未能解决你的问题,请参考以下文章

尝试从 AJAX 中的文本框获取价值并将其发送到新页面

如何获取接收到 Intent 的变量,使其成为静态变量,并将其发送到 Android 上的另一个类?

如何请求 API 并将其发送到前台

如何使字符串列表的每个元素都可点击?

如何在异步调用期间填充数组并将其发送到响应对象中

laravel - 使脚本自动将请求作为测试发送到所有api