Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Разбить предложение на слова запятыми

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: tvv123456   (15.06.2014 в 15:42)   письмо автору
 
   для: moonfox   (15.06.2014 в 14:27)
 

>у чела заголовок служит kw
>а вы беспокоитесь о записи в БД
>да еще и через запятые))))
>накой хрен)))))))
>
>если он так парится о kw
>то в админке при правке страницы снизу идут 3 поля title keys descr
>и в них без всяких запитых записывается строка для meta
>в счлучае когда там пусто выводится в title kw и descr - сам заголовок весь как есть

Согласен на все 100%, НО бывает такая ситуация когда материал добавляют юзеры сайта, тогда есть вероятность, что в заголовках они укажут больше кейвордов, чем если бы их попросить написать в отдельном поле к своему материалу, хоть и вероятность уже и достаточно ничтожна.

А так все-таки хотелось помочь топик-стартеру найти оптимальное решение его задачи.

  Ответить  
 
 автор: moonfox   (15.06.2014 в 14:27)   письмо автору
 
   для: tvv123456   (15.06.2014 в 11:07)
 

у чела заголовок служит kw
а вы беспокоитесь о записи в БД
да еще и через запятые))))
накой хрен)))))))

если он так парится о kw
то в админке при правке страницы снизу идут 3 поля title keys descr
и в них без всяких запитых записывается строка для meta
в счлучае когда там пусто выводится в title kw и descr - сам заголовок весь как есть

  Ответить  
 
 автор: tvv123456   (15.06.2014 в 11:07)   письмо автору
 
   для: Commander   (13.06.2014 в 07:19)
 

>А что мешает тем же str_replace() экранировать запятые в них? Или заменить запятые, ну, к примеру, двойными запятыми?

Что за чушь? зачем что-то экранировать и добавлять в кейворды лишние символы?

Я имел ввиду, что когда вы замените пробелы запятыми, то могут получиться всякие некрасивые кейворды типа слово2,",слово2,",слово3,,слово4;,;,слово5 и т.п. А предлоги тоже отдельным кейвордом будут? все таки str_replace не для этого случая, а получив все слова в массиве при помощи preg_match_all, можно использовать implode(",", $array) и все получится красиво и без всякого мусора.

  Ответить  
 
 автор: Commander   (13.06.2014 в 07:19)   письмо автору
 
   для: tvv123456   (12.06.2014 в 21:55)
 

А если в title используются знаки препинания и кавычки?

А что мешает тем же str_replace() экранировать запятые в них? Или заменить запятые, ну, к примеру, двойными запятыми?

  Ответить  
 
 автор: tvv123456   (12.06.2014 в 21:55)   письмо автору
 
   для: Commander   (06.06.2014 в 20:59)
 

А если в title используются знаки препинания и кавычки?
Может лучше использовать preg_match_all, выбирая слова [А-я] {3,15}? - Единственное наверное лучше тогда keywords хранить в БД, а не использовать preg_match_all каждый раз когда запрашивается страница.

  Ответить  
 
 автор: Igorek   (09.06.2014 в 10:01)   письмо автору
 
   для: tvv123456   (06.06.2014 в 22:37)
 

Как правильно заметили ниже, значение $result может быть равно resource, true (для запросов типа INSERT, UPDATE...) или false.
Т.е. в данном случае, чтобы просто убедиться, что запрос был корректно выполнен, достаточно проверки:
<?php
if ($result)

т.к. resource == true и true == true. Или, с проверкой типа данных:
<?php
if ($result !== false)

  Ответить  
 
 автор: Commander   (09.06.2014 в 05:22)   письмо автору
 
   для: tvv123456   (08.06.2014 в 20:58)
 

Принцип ясен. Но $result === true работать не будет. Потому что $result == true, но тип данных не совпадает.

  Ответить  
 
 автор: tvv123456   (08.06.2014 в 20:58)   письмо автору
 
   для: Commander   (06.06.2014 в 22:59)
 

Прошу прощения.
Думаю согласитесь, что принцип тот же
бла-бла !==false
сами сказали: либо false либо значение

  Ответить  
 
 автор: Commander   (06.06.2014 в 22:59)   письмо автору
 
   для: tvv123456   (06.06.2014 в 22:37)
 

а вот не надо так как раз писать, лучше:


if($result === true) 

а то всякое бывает :)
если переменная может принимать только false и true, то и сравнивать лучше бы с ними, а то и "-1", для php true, да и "0" в вашем случае может дать неожиданный результат/


Не выйдет. Если вы посмотрите код, то увидите, что переменная $result содержит в себе значение, возвращаемое функцией mysql_query(). А это либо false, либо ресурс, который !== true.

  Ответить  
 
 автор: tvv123456   (06.06.2014 в 22:37)   письмо автору
 
   для: Commander   (06.06.2014 в 20:59)
 

>Кстати, вместо
<?php
>if ($result == 'true')

>надо написать
<?php
>if ($result)


а вот не надо так как раз писать, лучше:


if($result === true)

а то всякое бывает :)
если переменная может принимать только false и true, то и сравнивать лучше бы с ними, а то и "-1", для php true, да и "0" в вашем случае может дать неожиданный результат/

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования