Как сделать каждое слово в тексте кликабельным и отправить его в скрипт - PullRequest
7 голосов
/ 24 марта 2010

У меня есть текст, например

"Быстрая коричневая лиса перепрыгивает через ленивую собаку. Быстрая коричневая лиса перепрыгивает через ленивую собаку. Быстрая коричневая лиса перепрыгивает через ленивую собаку. Быстрая коричневая лиса прыгает

над ленивым псом. "

Когда я нажимаю на слово, я должен получить данные из XML или mysql об этом слове.

Как я могу сделать каждое слово активным для клика и отправить его в другой скрипт

например: я нажимаю на собаку, и в новом окне я получаю информацию о собаке? на лисе о лисе? каждое слово должно быть кликабельным

Есть идеи, ссылки или примеры?

Использование php, mysql, jquery, ajax

Ответы [ 2 ]

8 голосов
/ 24 марта 2010

Оберните каждое слово в отдельный интервал, возможно, с помощью класса CSS, чтобы дифференцировать их как «интервалы слов». Добавьте обработчик наведения для всех диапазонов с этим классом, который извлекает содержимое и выполняет запрос ajax для получения данных, связанных с этим словом. Если вы вернете некоторые данные, всплывет DIV («подсказка»), содержащая информацию, которая связана с расположением мыши и имеет z-индекс, который позволяет ей перемещаться по остальной части содержимого. Когда мышь не находится над промежутком, удалите соответствующий «совет».

Для jQuery существует множество плагинов "tip", которые можно легко адаптировать к этому требованию.

<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' });

ПРИМЕЧАНИЕ: вы, вероятно, хотите сделать это только для слов, представляющих интерес, а не для каждого слова на странице. То есть иметь словарь слов, для которых нужны всплывающие подсказки, и переносить только те слова на странице, которые существуют в словаре. Нет смысла (если это не приложение грамматики) делать это с каждым возможным словом.

1 голос
/ 24 марта 2010

Слишком много вопросов в одном. Я бы ответил на один из заголовка. Предположим, вы определили «слово» как группу символов, разделенных пробелом. Таким образом, вы можете использовать функцию 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, чтобы научиться писать остальное

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...