Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как поменять слова в тексте на ссылку

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kikosik666
Отправлено: 06 Марта, 2018 - 09:27:15
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




Здравствуйте, такая проблема и не как не могу решать.


В столбце(Aboutfilm) базы хранятся такой текст
"
Год: 2016
Страна: Мексика, Канада, США
Жанр: драма, криминал, отечественное, ужасы, мелодрама, приключения
Режиссер: Роберт Бин
В ролях: Марк, Мари, Пупар, Николь, Анна, Джейн
"
У меня есть массив с жанрами и ссылками, и хочу чтобы код искал по жанрам, если есть совпадение по словам массива, автоматический сделал ссылку(например так. <a href = "dramy/">драма</a>, <a href = "kriminal/">криминал</a>....)

Вот мой код

$menu_janr = array();
$menu_janr['melodramy/']='мелодрама';
$menu_janr['istoricheskie-filmy/']='история';
$menu_janr['biograficheskie-filmy/']='биография';
$menu_janr['komedii/']='комедия';
$menu_janr['priklyucheniya/']='приключения';
$menu_janr['kriminal/']='криминал';
$menu_janr['uzhasy/']='ужасы';
$menu_janr['trillery/']='триллер';
$menu_janr['fantastika/']='фантастика';
$menu_janr['vesterny/']='вестерн';
$menu_janr['fehntezi/']='фэнтези';
$menu_janr['boeviki/']='боевик';
$menu_janr['voennye-filmy/']='военный';
$menu_janr['semejnye-filmy/']='семейные';
$menu_janr['detektivy/']='детектив';
$menu_janr['mistika/']='мистика';
$menu_janr['dokumentalnoe-kino/']='документальное';
$menu_janr['sportivnye/']='спорт';
$menu_janr['muzykalnye-filmy/']='музыкальные';
$menu_janr['anime/']='аниме';
$menu_janr['tv-shou/']='тв-шоу';
$menu_janr['dramy/']='драма';

$db = mysql_connect ("localhost", "root", "");
mysql_select_db("nig",$db);

$news = mysql_query("SELECT * FROM table1 ORDER BY ID DESC limit 1");
while ($row = mysql_fetch_assoc($news, MYSQL_ASSOC)) {
//foreach ($menu_janr as $key => $menulink )

foreach ($menu_janr as $key => $value)
{
$content = $row['Aboutfilm'];
$content = mb_strtolower($content, 'UTF-8');
$arg = $value;
$pos = strripos($content, $arg);
if ($pos !== false) {

$text6.="<a class='linq' href='$key'>$value,</a> ";
$content = str_replace($arg, $text6, $content);

}

}
echo $content;

}

Получаю вот такое

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

Но должен быть так

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

Поможете разобратся?
Спасибо

(Отредактировано автором: 06 Марта, 2018 - 09:30:36)

 
 Top
Vladimir Kheifets
Отправлено: 07 Марта, 2018 - 13:07:07
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




kikosik666 пишет:
Здравствуйте, такая проблема и не как не могу решать.

Получаю вот такое

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

Но должен быть так

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

Поможете разобратся?
Спасибо


Добрый день!

Ошибка в том, что у Вас, не хватает $text6="";
PHP:
скопировать код в буфер обмена
  1. while ($row = mysql_fetch_assoc($news, MYSQL_ASSOC))
  2. {      
  3.         .............
  4.         foreach ($menu_janr as $key => $value)
  5.         {
  6.                 ...............
  7.                 if ($pos !== false)
  8.                 {  
  9.                         $text6.="<a class='linq' href='$key'>$value,</a> ";
  10.                         $content = str_replace($arg, $text6, $content);
  11.                 }
  12.         }
  13.         $text6="";
  14.         echo $content;  
  15. }

Удачи!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB