Anonym Posted June 18, 2006 at 12:15 PM Report Share #33552 Posted June 18, 2006 at 12:15 PM Boas, eu num ficheiro txt tenho isto: <mensagem> ABC , DEF </mensagem><mensagem> GHI , JLM </mensagem><mensagem> NOP , QRS </mensagem> e eu cria num script de php que fizesse o seguinte • lia o ficheiro • metia cada parte de <mensagem></mensagem> numa linha de uma tabela • fosse possível eliminar uma certa parte, ou seja um <mensagem></mensagem> e o que eu tenho feito usuamente para este tipo de projectos, é armazenar o texto num txt (como agora) e o php lia o ficheiro todo, fazia include. Mas agora por termos estéticos gostava de aprender (se der) a dividir o texto, porque o alojamento de texto não deixa mail() nem db's my_sql... cumps, 😄 Link to comment Share on other sites More sharing options...
Guest id194 Posted June 18, 2006 at 12:43 PM Report Share #33559 Posted June 18, 2006 at 12:43 PM grava em xml e para n teres o trabalho de aprender a ler ficheiros xml com php saca uma classe que te faça isso e ja esta... Link to comment Share on other sites More sharing options...
kingless Posted June 18, 2006 at 12:57 PM Report Share #33561 Posted June 18, 2006 at 12:57 PM Está aqui a solução para o teu problema: <?php $ficheiro = "teste.txt"; if(file_exists("$ficheiro")) { header("Content-Type: text/plain"); $a=file($ficheiro); if(!empty($a)){ $b=explode('<mensagem>',$a[0]); foreach($b as $c){ $d=explode('</mensagem>',$c); echo $d[0]."\n"; } } } ?> Eu testei e funcionou... O meu aquivo teste.txt tinha isso: <mensagem>isto é um teste</mensagem><mensagem>isto é um teste também</mensagem><mensagem>isto é outro teste ...</mensagem> e quando executei o meu código só mostrou: isto é um teste isto é um teste também isto é outro teste ... Acho que é isso que queres!! Link to comment Share on other sites More sharing options...
Anonym Posted June 18, 2006 at 03:55 PM Author Report Share #33587 Posted June 18, 2006 at 03:55 PM Está aqui a solução para o teu problema: <?php $ficheiro = "teste.txt"; if(file_exists("$ficheiro")) { header("Content-Type: text/plain"); $a=file($ficheiro); if(!empty($a)){ $b=explode('<mensagem>',$a[0]); foreach($b as $c){ $d=explode('</mensagem>',$c); echo $d[0]."\n"; } } } ?> Eu testei e funcionou... O meu aquivo teste.txt tinha isso: <mensagem>isto é um teste</mensagem><mensagem>isto é um teste também</mensagem><mensagem>isto é outro teste ...</mensagem> e quando executei o meu código só mostrou: isto é um teste isto é um teste também isto é outro teste ... Acho que é isso que queres!! segundo o que percebi desse código.... Ele esconde o <mensagem></mensagem> e acrescenta um \n... mas o que eu cria no fundo era, em cada linha de uma tabela ter uma mensagem... :\ Link to comment Share on other sites More sharing options...
Ped@ntilva Posted June 18, 2006 at 06:38 PM Report Share #33610 Posted June 18, 2006 at 06:38 PM Bem para isso só tens de criar a tabela. Esse código já faz tudo agora metes-lhe a tabela. <table border="1"> <?php $ficheiro = "teste.txt"; if(file_exists($ficheiro)) { header("Content-Type: text/plain"); $a=file($ficheiro); if(!empty($a)){ $b=explode('<mensagem>',$a[0]); foreach($b as $c){ $d=explode('</mensagem>',$c); echo "<tr><td>".$d[0]."</td></tr>"; } } } ?> </table> Link to comment Share on other sites More sharing options...
M6 Posted June 19, 2006 at 05:30 PM Report Share #33780 Posted June 19, 2006 at 05:30 PM grava em xml e para n teres o trabalho de aprender a ler ficheiros xml com php saca uma classe que te faça isso e ja esta... A questão não está em gravar em XML mas sim em colocar os dados numa estrutura XML. O SAX aqui cai muito bem, muito melhor que o DOM. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Anonym Posted June 19, 2006 at 05:48 PM Author Report Share #33782 Posted June 19, 2006 at 05:48 PM Bem para isso só tens de criar a tabela. Esse código já faz tudo agora metes-lhe a tabela. <table border="1"> <?php $ficheiro = "teste.txt"; if(file_exists($ficheiro)) { header("Content-Type: text/plain"); $a=file($ficheiro); if(!empty($a)){ $b=explode('<mensagem>',$a[0]); foreach($b as $c){ $d=explode('</mensagem>',$c); echo "<tr><td>".$d[0]."</td></tr>"; } } } ?> </table> Está aqui a solução para o teu problema: <?php $ficheiro = "teste.txt"; if(file_exists("$ficheiro")) { header("Content-Type: text/plain"); $a=file($ficheiro); if(!empty($a)){ $b=explode('<mensagem>',$a[0]); foreach($b as $c){ $d=explode('</mensagem>',$c); echo $d[0]."\n"; } } } ?> Eu testei e funcionou... O meu aquivo teste.txt tinha isso: <mensagem>isto é um teste</mensagem><mensagem>isto é um teste também</mensagem><mensagem>isto é outro teste ...</mensagem> e quando executei o meu código só mostrou: isto é um teste isto é um teste também isto é outro teste ... Acho que é isso que queres!! era isso mesmo, muito obrigado! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now