Я использую 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>
Это было бы плохо, потому что ссылка была добавлена в другую ссылку.
Итак, моя проблема заключается в том, как выбрать правильный текст для добавления (этот процесс выполняется случайным образом и автоматически). Что я должен принять во внимание, чтобы сделать это?
Если вы создаете стиль 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>
Я не вижу, где он может сломать ваш стиль...
Вы добавляете теги ссылок, используя php? Может быть решена с помощью нескольких проходов после того, как вы добавите ссылки на "статью", а затем используйте explode() как для начальных, так и для концевых тегов, чтобы выделить части, которые уже являются ссылками, и исключить те, у которых есть теги, добавленные к ним.
Возможно, это лучший способ сделать это с помощью регулярных выражений, используя взрыв, вы можете получить головную боль, пытаясь отслеживать, какие части массива являются связями. Кроме того, вам придется иметь дело с последующей рекомбинацией вещи и вставкой тегов назад.
Я понял, что вы хотите, чтобы ваши ссылки не отличались от других тестов в одном и том же месте. В этом случае вам необходимо явно указать стиль для ссылок, похожих на ваш стиль текста.
Пример:
div.mycontent {
color: #333333;
font-weight: bold;
}
div.mycontent a { // add this for links
color: #333333;
font-weight: bold;
text-decoration: none;
}