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
Форумы портала PHP.SU :: Версия для печати :: обработка массива
Форумы портала PHP.SU » » Вопросы новичков » обработка массива

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

1. foozzi - 17 Февраля, 2013 - 00:52:07 - перейти к сообщению
есть код:
PHP:
скопировать код в буфер обмена
  1.  
  2. $input = "вот из всего #текста надо регуляркой или даже #незнаю чем еще";
  3. echo $input, "\n\n";
  4. preg_match_all('/(#[^\s]+)\s/iU', $input, $output);
  5. $hash = count($output);
  6. echo $output[0][0].$output[0][1];
  7. echo $hash;
  8.  

Мне нужно записать в базу столько слов, сколько находится в массиве, я посчитал например, вышло 2 слова: #текста и #незнаю, так вот, как мне каждое слово записать в базу? пробовал циклом считать, не вышло....
2. DeepVarvar - 17 Февраля, 2013 - 01:17:46 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. echo "INSERT INTO tbl (zz,yy)
  2.        VALUES (NULL,'" . join("'),(NULL,'", $output[0]) . "');";
3. foozzi - 17 Февраля, 2013 - 01:32:52 - перейти к сообщению
Теперь трабла в том, что я не могу записать в базу все это
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''#dfgfgd '' at line 1
(Добавление)
мой косяк, разобрался
(Добавление)
Все же нужно именно считать сколько в массиве слов:
PHP:
скопировать код в буфер обмена
  1.  
  2. if($_POST['upload'] =! '') {
  3.         $input = $_POST['desc'];
  4.         preg_match_all('/(#[^\s]+)\s/iU', $input, $output);
  5.         $tag = '<a href="?tag='.$output[0][0].'">'.$output[0][0].'</a>';
  6.         $xut = preg_replace('/(#[^\s]+)\s/iU', $tag, $input);
  7.         echo $xut;
  8. }
  9.  

так я заменяю хэштег на ссылку для дальнейшего поиска, но только для одного, а если их 3, тогда как?

 

Powered by ExBB FM 1.0 RC1