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
---------------------------

Responder a