Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

klsofts

Exibir parte da string:

Recommended Posts

Fala pessoal,

ainda estou no desenvolvimento de um buscador e, por questões de eficiência na exibição de resultados eu gostaria de exibir a parte da descrição do site em negrito. Esta parte seriam palavras iguais a que a pessoa buscou e quero deixa-las em negrito, alguém sabe como posso fazer isto? pensei em usar explode() e comparar tudo mais também quero fazer com que a descrição seja exibida a partir da palavra que a pessoa digitou. Por ex:

 

Descrição original:

PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor", originalmente Personal Home Page) é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web.[2] Figura entre as primeiras linguagens passíveis de inserção em documentos HTML, dispensando em muitos casos o uso de arquivos externos para eventuais processamentos de dados.

 

Aí a pessoa pesquisa por gerar conteúdo, eu gostaria que retornasse:

 

<b> Gerar conteúdo</b> dinâmico na World Wide Web.[2] Figura entre as primeiras linguagens passíveis de inserção em documentos HTML...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algo assim pode funcionar, claro que pode não ser a melhor opção mas depende da sua necessidade como um todo

<?php
function mapear_negrito($original) {
	return '<b>' . $original . '</b>';
}
$buscou_por = array('todos', 'Brasil');
$substituir_por = array_map('mapear_negrito' , $buscou_por);

$str = 'Brasil, um país de todos, brasil um país de diversidade e riqueza';
echo str_ireplace($buscou_por, $substituir_por, $str);

//<b>Brasil</b>, um país de <b>todos</b>, <b>Brasil</b> um país de diversidade e riqueza
  1. repare que é case INSENSITIVE
  2. você também pode passar a função mapear_negrito de forma direta mas antigas versões do PHP não suportam isso
  3. você poderia usar a função str_pos para procurar o index da palavra e assim fazer um for para ir procurando o index e adicionando a string, é um caso mais trabalhoso

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.