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 :: substr, mb_substr

 PHP.SU

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


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

> Описание: как избавиться от такого � при вырезки символов ??
Иван14
Отправлено: 05 Октября, 2011 - 07:17:30
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Авг. 2011  
Откуда: Владивосток


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




здравствуйте коллеги! не знаю по адресу я или нет но столкнулся со следующей ошибкой, которая уже надоела совсем:

организую поиск на стр. вытаскиваю из БД все совпадения из description. помещаю в массив. затем при каждой итерации присваиваю элемент массива переменной $description и делаю следующее:

использую функции substr, mb_substr для понятных целей... вот код:

$pos_s = stripos($description, $replacement); // - узнаю позицию нашего слова в тексте

$start = $pos_s - $good_position_word;
$end = $pos_s + $kolvo_element_cut - $good_position_word +5;
$rest = substr($description, $start, $end);
echo $rest;
вот так получается с вопросиками.... если же использовать мультибайтную функцию, а именно:
$pos_s = stripos($description, $replacement); // - узнаю позицию нашего слова в тексте

$start = $pos_s - $good_position_word;
$end = $pos_s + $kolvo_element_cut - $good_position_word +5;
$rest = mb_substr($description, $start, $end);
echo $rest;

вопросики пропадают, но иногда вообще ничего не вырезает..

как здесь поступить, чтобы не было вопросиков, и description был не пустым?

(Отредактировано автором: 05 Октября, 2011 - 07:27:42)

 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Октября, 2011 - 07:18:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Иван14 пишет:
как избавиться от такого � при вырезки символов ?
Никак
(Добавление)
Регулярки в помощь.
 
 Top
Иван14
Отправлено: 05 Октября, 2011 - 07:29:08
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Авг. 2011  
Откуда: Владивосток


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




DeepVarvar пишет:
Иван14 пишет:
как избавиться от такого � при вырезки символов ?
Никак
(Добавление)
Регулярки в помощь.


подскажите пожалуйста на моём точном объяснении как поступить? желательно подробнее или хотя бы пару ссылок где можно про это почитать.
спасибо!
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Октября, 2011 - 10:41:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Лучше приведите в пример реальную строку с которой надо работать.
Под нее составим регулярку.
 
 Top
Иван14
Отправлено: 05 Октября, 2011 - 11:04:22
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Авг. 2011  
Откуда: Владивосток


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




DeepVarvar
да я с удовольствием, регулярные выражения знаю чуть-чуть... вы объясните на примере как она мне поможет именно здесь? или на словах хотя бы. понять хочу.
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Октября, 2011 - 13:13:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




PHP:
скопировать код в буфер обмена
  1. $text = "Каша бывает разной. Есть каша гречневая, есть манная. Но самая редкая это - \"каша\" в голове..";
  2. echo preg_replace("/(каша)/iu","<font color=\"red\">$1</font>",$text,-1);
 
 Top
Иван14
Отправлено: 06 Октября, 2011 - 04:31:18
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Авг. 2011  
Откуда: Владивосток


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




спасибо огромное! ;)
 
 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