- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Многие из вас внедряют на сайт микроразметку schema.org или другую. Я перелопатил кучу информации на эту тему. Если у людей готовый движок, то они могут использовать плагин. У меня же просто самописный. Возникла проблема. Например, чтобы добавить тег микроразметки к списку, который находится в таблице (или к картинкам), нужно сделать замену при помощи str_replace. Я написал такой код: str_replace ("<li", "<li itemprop="ingredients"", "$text"); Но ничего не получается. Помогите пожалуйста! Где его прописать и правильный ли он? Заранее спасибо. Вот код страницы:
<?php include ("blocks/bd.php");
if(isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 1;}
/* Проверяем, является ли переменная числом */
if (!preg_match("|^[\d]+$|", $id)) {
exit ("<p>Неверный формат запроса! Проверьте URL!");
}
$result = mysql_query("SELECT * FROM data WHERE id = '$id'",$db);
if (! $result)
{
echo "<p>no</p>";
exit (mysql_error());
}
$myrow = mysql_fetch_array($result);
<div id="text">
<?php
printf ("<h2>%s</h2>",
$myrow ["title2"]);?>
<div id="adsens2"><?php include ("adsens_center.php"); ?></div>
<div id="cl_rvrez">
<p class="sovet">Знаете ли вы, что:</p>
<?php $result9 = mysql_query('SELECT * FROM `vrezka` ORDER BY rand() LIMIT 1');
while ($row = mysql_fetch_array($result9))
{
echo $row['sovet'];
}?></div>
<?php
printf ("<p class='post_add'>Автор: %s</p><p class='post_add'>Дата: %s</p>%s<p class='post_view'>Просмотры: %s</p>",
$myrow["author"],
$myrow["date"],
$myrow["text"],
$myrow["view"]);?>
str_replace ("<li", "<li itemprop="ingredients"", "$text");
не читал дальше, но так вроде нельзя кавычки делать
str_replace ("<li", "<li itemprop=\"ingredients\"", "$text");
или
str_replace ("<li", "<li itemprop='ingredients'", "$text");
попробуй
Да с кавычками косяк, и, из любопытства, в чем смысл этого str_replace и printf в коде приведенном? нельзя просто строку поменять и вставлять переменные опять же в строку?
по-моему, только лишняя нагрузка на php, а преимуществ никаких не вижу в таких конструкциях.
Вот попробовал такой код, но ничего не вышло опять
$text2 = str_replace ("<li>", "<li itemprop="ingredients" >", "$text");
echo $text2;
А смысл всего сводится к тому, чтобы в списки, которые находятся в $text вставить кусочек микроразметки
---------- Добавлено 16.01.2015 в 09:08 ----------
не читал дальше, но так вроде нельзя кавычки делать
str_replace ("<li", "<li itemprop=\"ingredients\"", "$text");
или
str_replace ("<li", "<li itemprop='ingredients'", "$text");
попробуй
Не помогло
Вот попробовал такой код, но ничего не вышло опять
$text2 = str_replace ("<li>", "<li itemprop="ingredients" >", "$text");
echo $text2;
А смысл всего сводится к тому, чтобы в списки, которые находятся в $text вставить кусочек микроразметки
Не помогло
а кавычки? "смотрю в книгу, а вижу фигу" 🍿
а что собственно в переменную $text попадает? не видно где она объявляется...
а что собственно в переменную $text попадает? не видно где она объявляется...
Я думал что где-то в этой функции.
printf ("<p class='post_add'>Автор: %s</p><p class='post_add'>Дата: %s</p>%s<p class='post_view'>Просмотры: %s</p>",
$myrow["author"],
$myrow["date"],
$myrow["text"],
$myrow["view"]);
Почитал справочник, написано что переменная, объявленная в функции относится только к ней. Как объявить переменную вне функции? Просто прописать $GLOBALS["text"];? Подскажите пожалуйста
смотреть откуда список (li) берется, так из кода не видно
смотреть откуда список (li) берется, так из кода не видно
Список находится в тексте, который находится в таблице data. В верхней части кода происходит выборка:
$result = mysql_query("SELECT * FROM data WHERE id = '$id'",$db);
if (! $result)
{
echo "<p>no</p>";
exit (mysql_error());
}
$myrow = mysql_fetch_array($result);
В поле текст находится и список и картинки, в которых так же нужно проставить теги микроразметки. Как туда добраться, ума не преложу 😕. Не руками же все делать!
$myrow["text"] = str_replace ('<li', '<li itemprop="ingredients"', $myrow["text"]);
printf ("<p class='post_add'>...
$myrow["text"] = str_replace ('<li', '<li itemprop="ingredients"', $myrow["text"]);
printf ("<p class='post_add'>...
:) Ура! Заработало. Спасибо вам большое.