Susbistituir texto por links - PHP
18/09/2014
0
Bom, a ideia é que a função PHP faça uma busca na página e toda vez que achar o nome DevMedia quero que a função adicione o link de forma automática , assim não vou precisar linkar nome por nome! não sei se é exatamente PHP de que preciso mais tenho quase certeza, se alguém sabe como fazer nos dê uma luz :D
Cleyton Caetano
Posts
19/09/2014
Wander Santos
$texto = "Este é o teste";
strpos($texto, 'Este'); // Devolve true
O conteudo q vc falou q tem a palavra Devmedia escrita precisa ser "printada" com php.
Outra forma seria usar javascript. Procurar na div se existe tal palavra e cria uma funcao q troca a palavra pelo link
20/09/2014
Cleyton Caetano
$texto = "Este é o teste";
strpos($texto, 'Este'); // Devolve true
O conteudo q vc falou q tem a palavra Devmedia escrita precisa ser "printada" com php.
Outra forma seria usar javascript. Procurar na div se existe tal palavra e cria uma funcao q troca a palavra pelo link
Então no caso eu preciso criar alguma condição? algum if??
20/09/2014
Ronaldo Lanhellas
Você pode criar uma trigger no BEFORE INSERT da sua tabela que tem o conteúdo desejado (Vamos chamar de POST). Toda vez que um novo registro for inserido a sua trigger deverá buscar na coluna que possui o conteúdo a palavra que você deseja acrescentar um link, e então substituir o conteúdo por algo como: "<a href='link'>palavra</a>'. Assim, quando o registro for salvo no banco o link automaticamente já foi criado.
Você pode melhorar mais ainda, criar uma tabela chamada "LINK" com as colunas "palavra" e "link", então toda vez que o BEFORE INSERT for acionado na tabela POST você irá buscar se existe algum link da tabela LINK no conteúdo da tabela POST.
Deu pra entender ou ficou complexo ? A lógica é essa, é um pouco trabalhosa mais depois fica tudo automatizado.
20/09/2014
Cleyton Caetano
Você pode criar uma trigger no BEFORE INSERT da sua tabela que tem o conteúdo desejado (Vamos chamar de POST). Toda vez que um novo registro for inserido a sua trigger deverá buscar na coluna que possui o conteúdo a palavra que você deseja acrescentar um link, e então substituir o conteúdo por algo como: "<a href='link'>palavra</a>'. Assim, quando o registro for salvo no banco o link automaticamente já foi criado.
Você pode melhorar mais ainda, criar uma tabela chamada "LINK" com as colunas "palavra" e "link", então toda vez que o BEFORE INSERT for acionado na tabela POST você irá buscar se existe algum link da tabela LINK no conteúdo da tabela POST.
Deu pra entender ou ficou complexo ? A lógica é essa, é um pouco trabalhosa mais depois fica tudo automatizado.
Deu pra entender um pouco, mas uma dúvida, digamos que eu faça isso hoje e eu já tenha alguns posts cadastrados no meu banco de dados, os nomes que eu indiquei serão modificados ou só dos novos registros que virão? e caso eu precise atualizar o link? todos serão alterados? da pra explicar com mais detalhes sobre essa trigger e BEFORE INSERT...
20/09/2014
Ronaldo Lanhellas
1 - Criar a trigger com BEFORE INSERT;
2 - Criar uma função para ser executada a qualquer momento;
3 - Criar a tabela LINK;
11/10/2014
Cleyton Caetano
Tão simples de fazer e me deu essa dor de cabeça :/
primeiro passo, criei um arquivo links.php e criei uma array!
links.php
<?php $texto_link = array( 'php' => '<a href="http://www.php.net" title="PHP" target="new">php</a>', 'Google' => '<a href="http://www.google.com.br" title="Google" target="new">Google</a>', 'Moto 360' => '<a href="http://www.marratecnologia.net/moto_360" title=" Moto 360" target="new"> Moto 360</a>', 'PHP' => '<a href="http://www.php.net" title="PHP" target="new">PHP</a>' ); ?>
e no single.php fiz algumas alterações!
single antigo!
<?php echo $conteudo; ?>
single atual!
include 'links.php'; <?php echo strtr($conteudo, $texto_link); ?>
ele procura a palavra que especifiquei antes de mostrar o conteúdo e subistitui ela pelo link :D muito simples, quando mais estudo PHP mais gosto, é muito bom!
11/10/2014
Ronaldo Lanhellas
Tão simples de fazer e me deu essa dor de cabeça :/
primeiro passo, criei um arquivo links.php e criei uma array!
links.php
<?php $texto_link = array( 'php' => '<a href="http://www.php.net" title="PHP" target="new">php</a>', 'Google' => '<a href="http://www.google.com.br" title="Google" target="new">Google</a>', 'Moto 360' => '<a href="http://www.marratecnologia.net/moto_360" title=" Moto 360" target="new"> Moto 360</a>', 'PHP' => '<a href="http://www.php.net" title="PHP" target="new">PHP</a>' ); ?>
e no single.php fiz algumas alterações!
single antigo!
<?php echo $conteudo; ?>
single atual!
include 'links.php'; <?php echo strtr($conteudo, $texto_link); ?>
ele procura a palavra que especifiquei antes de mostrar o conteúdo e subistitui ela pelo link :D muito simples, quando mais estudo PHP mais gosto, é muito bom!
ótimo que conseguiu. Boa sorte.
12/10/2014
Cleyton Caetano
Tão simples de fazer e me deu essa dor de cabeça :/
primeiro passo, criei um arquivo links.php e criei uma array!
links.php
<?php $texto_link = array( 'php' => '<a href="http://www.php.net" title="PHP" target="new">php</a>', 'Google' => '<a href="http://www.google.com.br" title="Google" target="new">Google</a>', 'Moto 360' => '<a href="http://www.marratecnologia.net/moto_360" title=" Moto 360" target="new"> Moto 360</a>', 'PHP' => '<a href="http://www.php.net" title="PHP" target="new">PHP</a>' ); ?>
e no single.php fiz algumas alterações!
single antigo!
<?php echo $conteudo; ?>
single atual!
include 'links.php'; <?php echo strtr($conteudo, $texto_link); ?>
ele procura a palavra que especifiquei antes de mostrar o conteúdo e subistitui ela pelo link :D muito simples, quando mais estudo PHP mais gosto, é muito bom!
ótimo que conseguiu. Boa sorte.
Obrigada ^_^
06/03/2020
Bruno Bindi
// CONSULTA PRINCIPAL $sql2="SELECT * FROM tags order by -id"; $query2=$conecta->query($sql2); while($colunas=$query2->fetch_assoc()) { extract($colunas); // A coluna se chama nomes }
08/03/2020
Elena Cruz
vamos com a função function
auto_link ($ text) { $ pattern = "/(((http[s[?:\\/\\/)|(www\\.))(((az[[-a-z0-9[+\\.)?[az[[-a -z0-9] + \\. [az] + (\\. [az] {2,2})?) \\ /? [a-z0-9., _ \\ / ~ # & =:;% +? - ] + [a-z0-9 \\ / # =?] {1,1}) / é "; $ text = preg_replace ($ padrão, "<a href='$1'> $ 1 </a>", $ text); // corrige URLs sem protocolos $ text = preg_replace ("/ href = 'www /", "href =' http: // www", $ text); retornar $ text; }
Para mais informações, visite https://y2mate.guru/pt/
Clique aqui para fazer login e interagir na Comunidade :)