Добрый день. Подскажите, пожалуйста, в каком направлении читать/учить. Есть запрос к БД MySQL, который ищет слово по одной из колонок. Результат: в каждой строке много текста. Мне нужно сократить отображаемый текст влево и вправо от искомого слова по 200 символов Из доступного нашел только обрезание с начала/конца строки. А как обрезать из нужного места? Спасибо
Вот про нее я как раз и говорил, что ищет от начала и конца строки. Я так понимаю, что можно высчитать в какой позиции находится слово и о нее вычислять.
она вообще не ищет, а вырезает Покажите свой запрос итоговый а не его результат.... в общем случаем довольно сложно будет... так как нужно учесть моменты когда слово стоит первым или последним... тогда слева и справа по 200 не получится
Спасибо, все получилось. Буду дошлифовывать: условие больше/меньше 200 символов по обе стороны, вывод целым словом … Пока так: Код (Text): $sql1 = "SELECT * FROM `eksd` WHERE `text` LIKE '%" . $word . "%' ORDER BY kod"; $row2 = $db->select_list($dbh, $sql2); foreach($row2 as $r2) { $result11 = $r2['text']; $pos = stripos($result11, $word); $n_pos = $pos - 200; $result12 = substr($result11, $n_pos, 400); echo '<pre>'; print_r($result2);
Добрый день! Не понятно - "условие больше/меньше 200 символов по обе стороны, вывод целым словом …" Искомое слово будет целым, но в начале и в конце обрезанной строки слова будут наврядли целыми ... По идеи, нужно проверять $n_pos на < 0 и кол.во символов в $result11 Удачи!