
Aerial-man
Membros-
Total de itens
36 -
Registro em
-
Última visita
Tudo que Aerial-man postou
-
Olha, usando as funções do DW eu não sei te dizer como isso pode ser feito, mas você mesmo pode fazer editando a sua página (php), posta lá no forum PHP que vai resolver isso rapidinho!!!
-
Consegui resolver isso, o erro foi ter colocado o closedir dentro do if e do while, mas vi outro erro: Ele estava mostrando um pedaço de todos os arquivos, os que tem o termo procurado tá sendo mostrado legal só que os outros aparecem sem ter a palavra pesquisada, sulucionei colocando uma condição para mostrar apenas quando tiver o termo! <?php $descricao = $_GET['descricao']; function SDClearHTMLfromText($texto) { $texto=trim($texto); // tira os espaos em branco no incio e fim do texto $nrotagshtml=(substr_count($texto,'<') * 2); // conta quantas vezez aparece no texto a string < for ($hy=0;$hy<=$nrotagshtml;$hy++) { $posabrehtml=strpos($texto,'<'); // tag que inicia um html $posfechahtml=(strpos(substr($texto,$posabrehtml),'>')+1); // tag que fecha um html $retirar=(substr($texto,$posabrehtml,$posfechahtml)); // sentena html a retirar do texto if (strlen($retirar)>=2) // s entra se foi encontrado no mnimo 2 caracteres a retirar { $retirados.=('Ini:'.$posabrehtml."\nFin: ".$posfechahtml."\n".$retirar."\n*************************\n"); $texto=(str_replace($retirar,'',$texto)); // texto recebe o que tinha em texto menos a tag retirada(substituida por nada) } } return($texto); } $dir = "busca"; $abredir = opendir($dir); while ($arqs = readdir($abredir)) { if ($arqs != "." && $arqs != ".." && is_file($arqs) && ereg(".htm", $arqs)) { $abre = fopen($arqs,"r"); $le = (fread($abre,filesize($arqs))); $TextoLimpo = SDClearHTMLfromText($le); $num_car = strlen($descricao); $pesq = strpos($TextoLimpo,$descricao); if ($pesq == FALSE) {} else { $antes = $pesq - 100; $depois = $pesq + $num_car + 100; $parcial = substr($TextoLimpo,$antes,$depois); $desc_style = "<b>$descricao</b>"; $final = ereg_replace($descricao,$desc_style,$parcial); echo "$final<br><br>"; } } } closedir($abredir); ?> ´ agora é só fazer algumas mudanças para ficar com uma aparência melhor!! muito obrigado heltonritter!!!!!! :D
-
segui o raciocínio e deu isso: <?php $descricao = $_GET['descricao']; function SDClearHTMLfromText($texto) { $texto=trim($texto); // tira os espaços em branco no início e fim do texto $nrotagshtml=(substr_count($texto,'<') * 2); // conta quantas vezez aparece no texto a string < for ($hy=0;$hy<=$nrotagshtml;$hy++) { $posabrehtml=strpos($texto,'<'); // tag que inicia um html $posfechahtml=(strpos(substr($texto,$posabrehtml),'>')+1); // tag que fecha um html $retirar=(substr($texto,$posabrehtml,$posfechahtml)); // sentença html a retirar do texto if (strlen($retirar)>=2) // só entra se foi encontrado no mínimo 2 caracteres a retirar { $retirados.=('Ini:'.$posabrehtml."\nFin: ".$posfechahtml."\n".$retirar."\n*************************\n"); $texto=(str_replace($retirar,'',$texto)); // texto recebe o que tinha em texto menos a tag retirada(substituida por nada) } } return($texto); } $dir = "busca"; $abredir = opendir($dir); while ($arqs = readdir($abredir)) { if ($arqs != "." && $arqs != ".." && is_file($arqs) && ereg(".htm", $arqs)) { $abre = fopen($arqs,"r"); $le = (fread($abre,filesize($arqs))); $TextoLimpo = SDClearHTMLfromText($le); $num_car = strlen($descricao); $pesq = strpos($TextoLimpo,$descricao); $antes = $pesq - 100; $depois = $pesq + $num_car + 100; $parcial = substr($TextoLimpo,$antes,$depois); $desc_style = "<b>$descricao</b>"; $final = ereg_replace($descricao,$desc_style,$parcial); echo "$final<br><br>"; closedir($abredir); } } ?> mas quando boto para pesquisar algo não retorna nenhum resultado nem mostra nenhum erro, simplesmente a tela fica em branco, o que está errado???
-
valeu pela ajuda, serviu bastante eram duas dúvidas que eu tinha, uma você já respondeu e a outra é como fazer para mostrar um pedaço do texto que vem antes e depois do termo procurado????
-
Cara gostei muito da sua resposta, é justamente isso que eu quero: a lógica de fazer, as funções da pra desenrolar, mas o que pega quando se está aprendendo uma liguagem é a lógica, valeu! é que boa parte do site contém páginas estáticas (html) dai eu achei viável essa busca diretamente no arquivo, quanto a essa lógica que você passou eu vou testar aqui, a maioria das funções que ela usa da pra fazer legal!!! também vou ler os links que você passou para ter mais noção, qualquer coisa eu retorno!! valeu pela ajuda!
-
Olá pessoal, estou aprendendo a linguagem php e construindo um site, mas surgiu um problema, quero colocar um sistema de busca, que procure em todos os arquivos do meu site e tal, sei que existem inumeros scripts prontos mas por ser iniciante e gostar muito do php queria a ajuda de você para construir esse sistema, assim seria melhor! e também ficaria no forum como se fazer porque até agora não encontrei nenhum tutorial a respeito em lugar nenhum, os que tem são buscas em banco de dados MySQL!!
-
Enviar Variavel Por Javascript
pergunta respondeu ao Aerial-man de Aerial-man em Ajax, JavaScript, XML, DOM
rgarbin brigadão pela ajuda, mas resolvi meu caso usando outro código que achei muito interessante e acho justo divulgar pra galera aqui. link do código valeu!! :D -
Enviar Variavel Por Javascript
pergunta respondeu ao Aerial-man de Aerial-man em Ajax, JavaScript, XML, DOM
E também, peço desculpas porque o termo que eu queria saber o valor que ele assumia seria esse java script:ajaxpage('yyyy.php?termo=''+this.form.termo.value+''&conteudo''+this.form.cont.value''') THIS.FORM.CONT.VALUE já que eu só quero enviar o valor do campo TERMO. Qual a função que ele exerce? -
Enviar Variavel Por Javascript
pergunta respondeu ao Aerial-man de Aerial-man em Ajax, JavaScript, XML, DOM
bom estou usando o código que você passou da seginte forma java script:ajaxpage('yyyy.php?termo=''+this.form.termo.value+''&conteudo''+this.form.cont.value') mas não entendi o seguinte a função é composta de java script:ajaxpage('URL_PARA_ABRIR','LOCAL_ONDE_ABRIR') o local onde abrirá é CONTEUDO e na URL é que está o problema, porque ela seria assim yyyy.php?termo=VALOR_DO_CAMPO_TERMO e no código este +this.form.VALOR_DO_CAMPO_CONTEUDO.value estaria tomando que valor? -
Enviar Variavel Por Javascript
pergunta respondeu ao Aerial-man de Aerial-man em Ajax, JavaScript, XML, DOM
rgarbin coloquei desse jeito mas não pegou cara, quando clico no botão para submeter o formulário, não faz nada, nenhuma ação! o que poderia ser, teria que criar outra função em javascript para isso???? -
Olá galera! Sou iniciante e gostaria da ajuda de vocês no seguinte: tenho o arquivo xxxx.php onde existe a função em javascript para abrir uma página numa div <head> <script type="text/javascript"> var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no) var loadedobjects="" var rootdomain="http://"+window.location.hostname function ajaxpage(url, containerid){ var page_request = false if (window.XMLHttpRequest) // if Mozilla, Safari etc page_request = new XMLHttpRequest() else if (window.ActiveXObject){ // if IE try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false page_request.onreadystatechange=function(){ loadpage(page_request, containerid) } if (bustcachevar) //if bust caching of external page var bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() page_request.open('GET', url+bustcacheparameter, true) page_request.send(null) } function loadpage(page_request, containerid){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) var texto = page_request.responseText; texto = texto.replace(/\+/g," "); texto = unescape(texto); document.getElementById(containerid).innerHTML = texto; } </script> </head> <form action="java script:ajaxpage('yyyy.php?termo=VALOR_DO_CAMPO_DE_TEXTO', 'conteudo')" method="post" name="busca"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="right"><label> <input name="query" type="text" id="termo" /> </label></td> <td align="center"><label> <input type="submit" name="Submit" value="OK" /> </label></td> </tr> </table> </form> <div id="conteudo"> aqui é que abrirá a nova página </div> o que eu quero é que ele envie o formulário de modo que coloque o valor do campo de texto no lugar em que eu destaquei no código. ------------> form action="java script:ajaxpage('yyyy.php?termo=VALOR_DO_CAMPO_DE_TEXTO', 'conteudo')". Decide postar aqui porque acho que vocês dão a maior atenção e ajuda necessária!!!! :) P.S. O termo javascript está junto no código original, porem quando postei aqui ele separou!