Вложенные гиперссылки в документе XHTML 1.1 - PullRequest
1 голос
/ 02 апреля 2010

Я делаю простой виджет для WordPress, который выбирает самые последние твиты из RSS-ленты, предоставленной Twitter.

Этот виджет анализирует любую ссылку, опубликованную в твиттере, он также анализирует упоминания (например, @username) и актуальные темы (например, #nowplaying). Для этих 3 ситуаций он создает ссылки, указывающие на какую-то функцию Twitter.

Например:

"Hi @UserA, check out the song Foo from FooBar that I'm listening,
 it's awesome. #nowplaying"

И это будет разбираться на это:

Hi <a href="http://twitter.com/UserA">@UserA</a>, check out the song
Foo from FooBar that I'm listening, it's awesome.
<a href="http://twitter.com/#search?q=nowplaying">#nowplaying</a>

Теперь мне нужно добавить глобальную ссылку ко всему сообщению, например:

<a href="http://twitter.com/UserA/statuses/1234567890">
Hi <a href="http://twitter.com/UserA">@UserA</a>, check out the song
Foo from FooBar that I'm listening, it's awesome.
<a href="http://twitter.com/#search?q=nowplaying">#nowplaying</a>
</a>

Но этот код не проверяется и все равно не работает (кажется, что браузеры не знают, что с ним делать).

Любые предложения, как я могу это исправить?

Ответы [ 3 ]

2 голосов
/ 02 апреля 2010

, не делая этого.

теги не могут быть вложенными. Вы можете либо добавить тег ссылки в конец статуса, который ссылается на оригинал, либо выполнить дополнительный анализ и сделать твит примерно таким:

<a href="http://twitter.com/UserA/statuses/1234567890">
Hi </a><a href="http://twitter.com/UserA">@UserA</a>, <a href="http://twitter.com/UserA/statuses/1234567890">check out the song
Foo from FooBar that I'm listening, it's awesome.</a>
<a href="http://twitter.com/#search?q=nowplaying">#nowplaying</a>

таким образом, каждое слово, которое не является ссылкой, будет ссылкой на исходный статус, но я не знаю, является ли это вашим лучшим вариантом.

2 голосов
/ 02 апреля 2010

Я бы использовал JavaScript для глобальной ссылки. Если перед сообщением есть пуля или что-то еще, поместите туда ссылку и активируйте ее с помощью JavaScript при щелчке сообщения (эта ссылка будет служить ссылкой для пользователей без поддержки JS)

Если вам нужно, чтобы все это было кликабельно даже без JS, вам нужно разделить его на несколько ссылок, которые охватывают вещи между ссылками на контент.

0 голосов
/ 02 апреля 2010

Установите ссылку вокруг даты твита и поместите ее до или после текста.

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