Edinho, tomei a liberdade de criar um MY_text_helper e adicionar lá a tua função: http://pastebin.com/dSEkBipY
Dentro do código coloquei teu e-mail, peço desculpas se fiz mal. Para aqueles que precisarem algum dia, basta fazer a chamada assim: Controller //Considerando que o $row->texto já tem o resultado da pesquisa $texto = strip_tags($row->texto); $texto = extrato_texto($texto, $procura); View highlight_phrase( word_limiter($texto, 10), $texto, '<span class="encontrado">', '</span>' ) Abraços Em 2010/11/26, às 14:04, Edinho Almeida escreveu: > Hoje testei e vi que o meu exemplo estava bugado. > Corrigi. > > Busquei uma forma de extrair o trecho do texto sem cortar palavras ao > meio.ex ."..reino muito distante..." em vez de "...ino muito > distant..." > > http://pastebin.com/47hn3qjC > > Abs > Edinho Almeida > 11 8018-8019 > > > > 2010/11/26 Eric Saboia <[email protected]>: >> De noite a gente sempre acaba se enrolando com besteira.. ainda mais quando >> já ta a um tempo tentando né? >> >> Mas tranquilo, boa sorte ;) >> >> 2010/11/26 Rafael V. de Oliveira <[email protected]> >>> >>> Eric, foi mesmo o teu código que ajudou-me imenso!!! >>> Só tive que fazer algumas modificações, simples, mas tive que fazer. >>> $range = 33; >>> $posInit = strpos( $row->text, $search ); >>> $str = $row->text; >>> if ( $posInit > $range ) >>> $str = '...'.substr( $row->text, $posInit - $range ); >>> Muitas vezes o texto procurado pode estar no começo da string, então tenho >>> que colocar dentro do if, senão ele acaba por fazer um substr negativo >>> ($posInit - $range). >>> E também cortei o terceiro parametro do substr uma vez que na view eu já >>> tenho um word_limiter. >>> Mesmo assim, depois envio-te um vinho do Porto. >>> O pastelzinho eu tenho que dar um pulo em Lisboa para comprar. Com o frio >>> que está deve demorar um bocado. >>> Ponho no anexo do e-mail, pode ser? >>> Abraços e desculpa, quando cheguei em casa percebi que era um problema >>> mais da peça entre o monitor e a cadeira do que qualquer outra coisa. >>> Preguiça de pensar, mil perdões. >>> Rafael. >>> Em 2010/11/25, às 20:51, Eric Saboia escreveu: >>> >>> http://pastebin.com/zjVGuVqj >>> >>> Abraços, >>> >>> 2010/11/25 Rafael V. de Oliveira <[email protected]> >>>> >>>> Caros senhores, senhoras e simpatizantes. >>>> Gostaria de pedir uma ajuda vossa. >>>> Usando o seguinte exemplo: >>>> Na minha base de dados (MySQL 4.0) tenho a seguinte estrutura >>>> id (int) texto (text) >>>> 1 "Era uma vez, num reino muito distante, mais conhecido como >>>> Embu-guaçu, existia um jovem aspirante a vendedor de caquis, que gritava >>>> sempre: 'Cabô caqui' " >>>> Muito bem, eu tenho um sistema que faz uma busca da seguinte forma: >>>> $this->db->select('texto'); >>>> $this->db->like('texto', 'caquis'); >>>> return $this->db->get('minha_tabela'); >>>> Neste caso, eu vou achar, pois dentro do campo 'texto' existe o termo >>>> 'caquis'. E vou exibir este registro numa view, porém não exibo o texto >>>> completo, apenas uma parte dele, assim ó: >>>> echo word_limiter( highlight_phrase($texto, $procura, '<span >>>> class="encontrado">', '</span>'), 10); >>>> Esta instrução corta o texto em 10 palavras e o termo procurado >>>> ($procura) fica entre tags <span> com uma class encontrado. >>>> O retorno é este: >>>> Era uma vez, num reino muito distante, mais conhecido como.... >>>> O que eu queria era uma coisa assim: >>>> ... um jovem aspirante a vendedor de <span >>>> class="encontrado">caquis</span>, que gritava sempre:.... >>>> Gostaria de uma ajuda em como retirar um extrato do texto encontrado, mas >>>> na posição em que o termo ('caquis') se encontra. >>>> >>>> Quem precisar de um incentivo, arranjo um vinho do Porto e um pastel de >>>> Belém (de Belém mesmo e não do Habibs) pra quem ajudar. >>>> Ou para os Calcutás da vida, eu dou meu sincero muitíssimo obrigado. >>>> PS: Se não fui claro, posso tentar ser mais específico ^_^ >>>> Abraços, >>>> Rafael V. de Oliveira >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> [email protected] >>>> http://www.codeigniter.com.br >>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>> >>>> --------------------------- >>>> Oportunidade de negócio >>>> http://www.franquiasargohost.net >>>> --------------------------- >>>> >>> >>> >>> >>> -- >>> Eric Saboia - eric.saboia.org >>> >>> Beautiful is better than ugly, >>> Explicit is better than implicit, >>> Simple is better than complex, >>> Complex is better than complicated. >>> >>> The Zen of Python, by Tim Peters >>> >>> _______________________________________________ >>> [email protected] >>> http://www.codeigniter.com.br >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >>> --------------------------- >>> Oportunidade de negócio >>> http://www.franquiasargohost.net >>> --------------------------- >>> >>> >>> _______________________________________________ >>> [email protected] >>> http://www.codeigniter.com.br >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >>> --------------------------- >>> Oportunidade de negócio >>> http://www.franquiasargohost.net >>> --------------------------- >>> >> >> >> >> -- >> Eric Saboia - eric.saboia.org >> >> Beautiful is better than ugly, >> Explicit is better than implicit, >> Simple is better than complex, >> Complex is better than complicated. >> >> The Zen of Python, by Tim Peters >> >> >> _______________________________________________ >> [email protected] >> http://www.codeigniter.com.br >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> > > _______________________________________________ > [email protected] > http://www.codeigniter.com.br > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > > --------------------------- > Oportunidade de negócio > http://www.franquiasargohost.net > ---------------------------
_______________________________________________ [email protected] http://www.codeigniter.com.br http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br --------------------------- Oportunidade de negócio http://www.franquiasargohost.net ---------------------------

