Как добавить ссылки на HTML-форматированный текст? (случайно, с помощью программы)

0

Я использую PHP. У меня есть некоторые статьи, хранящиеся в MySQL, и все они имеют некоторый стиль (например, с некоторыми CSS или тегами). Теперь я должен добавить некоторые ссылки на некоторый текст случайным образом и автоматически. Это означает, что мне нужно добавить ссылки на текст и убедиться, что ссылки не нарушают стиль.

Я думаю, что самая сложная часть заключается в том, как добавлять ссылки, но не нарушать стиль. Существуют ли какие-либо правила или примеры, которые я могу выполнить, чтобы сделать это в PHP?

Любая помощь и советы очень ценится ~

Обновлено:

Возможно, этот вопрос заключается в том, как выбрать "правильный текст" для добавления ссылок. Если текст уже находится в ссылке, он не подходит. Итак, что мне делать с этим?

Например:

<div>This is an article with some <a href="http://originallinks.com">original links</a></div>

Мне нужно выбрать текст для добавления ссылок. Текст выбирается случайным образом по программе. Если текст является "статьей":

<div>This is an <a href="http://anotherlink.com">article</a> with some <a htef="originallinks.com">original links</a></div>

Это будет нормально, но если текст "оригинал":

<div>This is an article with some <a htef="originallinks.com"><a href="http://anotherlink.com">original</a> links</a></div>

Это было бы плохо, потому что ссылка была добавлена ​​в другую ссылку.

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

  • 0
    Можете ли вы привести примеры поведения, которое вы хотите, и поведения, которого вы не хотите?
Теги:
hyperlink

3 ответа

1

Если вы создаете стиль css для ссылок, где указываете все свойства (цвет, размер...), я не вижу, как это может сломать ваш стиль, поскольку вы просто помечаете текст правильной разметкой.

Скажем, у вас есть:

<div>Some text with style and a link and some more text</div>

Он станет

<div>Some text with style and <a style="link-style">a link</a> and some more text</div>

Я не вижу, где он может сломать ваш стиль...

  • 0
    до тех пор, пока вы позаботитесь и снова закроете все свои теги ...
  • 0
    Я имею в виду теги. Я вставляю теги «<a ...> ... </a>» в текст случайным образом, поэтому я должен убедиться, что теги «<a ...> ... </a>» не будут вставлены в "<a ...> ... </a>" снова. Это всего лишь один пример, и я не знаю, какие еще теги мне нужны, и какую технику я должен выбрать для этого (регулярное выражение или DOM?)
Показать ещё 2 комментария
0

Вы добавляете теги ссылок, используя php? Может быть решена с помощью нескольких проходов после того, как вы добавите ссылки на "статью", а затем используйте explode() как для начальных, так и для концевых тегов, чтобы выделить части, которые уже являются ссылками, и исключить те, у которых есть теги, добавленные к ним.

Возможно, это лучший способ сделать это с помощью регулярных выражений, используя взрыв, вы можете получить головную боль, пытаясь отслеживать, какие части массива являются связями. Кроме того, вам придется иметь дело с последующей рекомбинацией вещи и вставкой тегов назад.

0

Я понял, что вы хотите, чтобы ваши ссылки не отличались от других тестов в одном и том же месте. В этом случае вам необходимо явно указать стиль для ссылок, похожих на ваш стиль текста.

Пример:

div.mycontent {
    color: #333333;
    font-weight: bold;
}
div.mycontent a {          // add this for links
    color: #333333;
    font-weight: bold;
    text-decoration: none;
}
  • 0
    Спасибо. Но я касаюсь тегов, я имею в виду, что добавленная мной ссылка не сломает теги. У Вас есть какие-то предложения?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню