Ir para conteúdo
Fórum Script Brasil
  • 0

Php+xml(sax) Não Exibe As Quebras De Linha (/n)


Fernanda Braga

Pergunta

O problema é muito simples: estou tentando exibir um texto, contido num arquivo xml, mas não sei porque o texto fica sem as quebras de linha. Segue abaixo o codigo completo:

PS: Não se assustem com o codigo. Apenas poucas linhas interessam. Apenas as primeiras linhas, aquelas que tratam o xml.

Por exemplo: "$texto = nl2br($attrs["TEXTO"]);" Quando entro com o codigo "echo $texto;" ou "echo nl2br($texto);" as quebras de linha são ignoradas.

Como resolver este problema? Obrigada!



<?php
header("Content-Type: text/html; charset=ISO-8859-1",true);
session_start();
?>

<?
$parser = xml_parser_create();

xml_set_element_handler($parser, "FuncInicial", "FuncFinal");

$ponteiro = fopen("../Imagens/textoXML.xml", "r");

while($dados = fread($ponteiro, filesize("../Imagens/textoXML.xml"))) {
 xml_parse($parser, $dados);
}

//LIBERA A MEMÓRIA USADA PELO PARSER
xml_parser_free($parser);

//FUNÇÃO DA TAG INICIAL DO ARQUIVO XML
function FuncInicial($parser, $elemento, $attrs){

 if($elemento == "XML"){
  $fg = $attrs["FG"];
  $titulo = $attrs["TITULO"];
  $texto = nl2br($attrs["TEXTO"]);
  print nl2br($texto);
  $more = $attrs["MORE"];
  $galeria = $attrs["GALERIAXML"];    
?>

<?

    for($i=0; $i<strlen($more); $i++){
  if(substr($more, $i, 1) == ","){
      $j=$j+1;
  }
  if($j==5){
     $moreEixo = substr($more, $i+1);
     $i=strlen($more);
  }
    }
    

?>


<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <title>Formulário 'A Pousada'</title>
    <link rel="stylesheet" type="text/css" href="estrutura/estrutura.css" />    
  
<script language="JavaScript">
    function Contar(Campo, Qtda, Tipo){
    if((Campo.value.length) >= Qtda && Tipo == 1){
        alert('Atenção! Você atingiu o limite máximo de caracteres!');
    Campo.value = Campo.value.substr(0,Qtda);
    }
    if (Campo.value.indexOf("\"", 0) != -1) {             
             for (i=1; i<Campo.value.length; i++){
                  if (Campo.value.substr(i,1) == "\""){
        Campo.value = Campo.value.substr(0,i)+Campo.value.substr(i+1, Campo.value.length-i);
                  }
             }
             window.alert("Caractere 'aspas simples e aspas dupla' não permitido.");             
   }
   if (Campo.value.indexOf('>', 0) != -1) {             
             for (i=1; i<Campo.value.length; i++){
                  if (Campo.value.substr(i,1) == '>'){
        Campo.value = Campo.value.substr(0,i)+Campo.value.substr(i+1, Campo.value.length-i);
                  }
             }
             window.alert("Caractere '>' não permitido.");
   }
   if (Campo.value.indexOf('<', 0) != -1) {            
             for (i=1; i<Campo.value.length; i++){
                  if (Campo.value.substr(i,1) == '<'){
        Campo.value = Campo.value.substr(0,i)+Campo.value.substr(i+1, Campo.value.length-i);
                  }
             }
             window.alert("Caractere '<' não permitido.");
    }
    if (Campo.value.indexOf('=', 0) != -1) {
             for (i=1; i<Campo.value.length; i++){
                  if (Campo.value.substr(i,1) == '='){
        Campo.value = Campo.value.substr(0,i)+Campo.value.substr(i+1, Campo.value.length-i);
                  }
             }
             window.alert("Caractere '=' não permitido.");
              
    }
  
    if (Campo.value.indexOf("'", 0) != -1) {
             for (i=1; i<Campo.value.length; i++){
                  if (Campo.value.substr(i,1) == "'"){
        Campo.value = Campo.value.substr(0,i)+Campo.value.substr(i+1, Campo.value.length-i);
                  }
             }
             window.alert("Caractere 'aspas simples e aspas dupla' não permitido.");
    }
    if (Campo.value.indexOf("&", 0) != -1) {
     for (i=1; i<Campo.value.length; i++){
                  if (Campo.value.substr(i,1) == "&"){
        Campo.value = Campo.value.substr(0,i)+Campo.value.substr(i+1, Campo.value.length-i);
                  }
             }
             window.alert("Caractere '&' não permitido.");
    }
}
</script> 

<script LANGUAGE="JavaScript">
function validation() {
    if ((document.formulaire1.check01.checked == false) && (document.formulaire1.check02.checked == false)){
        window.alert("Atenção! Nenhum módulo selecionado. Por favor, selecione um módulo caso queira altera-lo.");
        return false;
    }
        
    if (document.formulaire1.linkMoreEixo.value.indexOf(',', 0) == -1) {
             window.alert("Você se esqueceu da vírgula, necessária ao campo 4 - campo dos eixos X e Y. ");
  return false;
    }    
}
</script> 
  
  </head>
<body>

      <?
      if (isset($_SESSION["erro01"])){
          print "<div id='boxErro01'>";
          print "<b>Erro!</b><br><br>";
          echo "- ".$_SESSION["erro01"]."<br>";
          print "</div>";          
      }
    if (isset($_SESSION["erro02"])){
          print "<div id='boxErro01'>";
          print "<b>Erro!</b><br><br>";
          echo "- ".$_SESSION["erro02"]."<br>";
          print "</div>";
      }
      if (isset($_SESSION["erro03"])){
          print "<div id='boxErro01'>";
          print "<b>Erro!</b><br><br>";
          echo "- ".$_SESSION["erro03"]."<br>";
          print "</div>";
      }
    ?>    

<?
session_destroy();
?>    

<h1><div id="titulo">Formulário para alteração de textos, imagens e links presentes no módulo 'A Pousada'.</div></h1>
<div class="correntes"></div>
<div class="bloco">
   <h2>MÓDULO - A Pousada</h2>
    <p>1- <span style="color: #333333;">Título do módulo.</span></p>
    <p>2- <span style="color: #333333;">Texto principal.</span></p>
    <p>3- <span style="color: #333333;">Carregar nova imagem (upload).</span><span style="color: red;"> (Dimensões obrigatórias: 100x128 pixels).</span></p>
    <p>4- <span style="color: #333333;">Posicionamento do link 'Mais informações...' na tela. </span><span style="color: red;">Basta digitar valores para o eixo X e Y, separados por uma vírgula.</span></p>

    <?

    print "<form method='POST' name='formulaire1' action='updateXML.php' enctype='multipart/form-data' onSubmit='return validation();'>";
    print "<h4>Alterar o módulo abaixo:<input name='check01' value='alterar' type='checkbox'></h4>";

    ?>
    
    <div id="box01">      
      <?     
      print "<div class='pos01'><div class='marcadores'>1-</div><input onKeyUp='Contar(this,65,1)' type='text' name='titulo' value='".$titulo."' size='35'></div>";
      print "<div class='pos02'><div class='marcadores'>2-</div><textarea onKeyUp='Contar(this,737, 1)' rows='10' name='texto' cols='62'>".nl2br($texto)."</textarea></div>";
      print "<div class='pos03'><div class='marcadores'>3-</div><input type='file' name='imgFile' value='".$fg."' size='18'></div>";
      print "<div class='pos03'><input type='hidden' name='img' value='".$fg."' size='18'></div>";
      print "<div class='pos04'><input type='hidden' name='linkGaleria' value='".$galeria."' size='18'></div>";
      print "<div class='pos05'><div class='marcadores'>4-</div><input onKeyUp='Contar(this,737, 2)' type='text' name='linkMoreEixo' value='".$moreEixo."' size='14'></div>";      
      print "<div class='pos05'><input type='hidden' name='linkMore' value='".$more."' size='14'></div>";
      ?>      
    </div>
</div>

<div class="modulraInferior"></div>
<div class="correntes"></div>
<div class="bloco02">
    <h3>MÓDULO - Mais informações (A Pousada)</h3>
    <p>5- <span style="color: #333333;">Título do Pop-up, presente neste módulo.</span></p>  
    <p>6- <span style="color: #333333;">Texto principal.</span></p>
    <p>7- <span style="color: #333333;">Carregar nova imagem (upload).</span><span style="color: red;"> (Dimensões obrigatórias: 114x90 pixels).</span></p>
    <p>8- <span style="color: #333333;">Continuação do texto principal...</span></p>
    <p>9- <span style="color: #333333;">Continuação...</span></p>



<?
 }
}
function FuncFinal($parser, $elemento){
}
?>


<?

$parser02 = xml_parser_create();
xml_set_element_handler($parser02, "FuncInicial02", "FuncFinal02");

$ponteiro02 = fopen("../Imagens/moreXML.xml", "r");

while($dados02 = fread($ponteiro02, filesize("../Imagens/moreXML.xml"))) {
 xml_parse($parser02, $dados02);
}

//LIBERA A MEMÓRIA USADA PELO PARSER
xml_parser_free($parser02);

//FUNÇÃO DA TAG INICIAL DO ARQUIVO XML

function FuncInicial02($parser02, $elemento02, $attrs){

 if($elemento02 == "XML"){
  $texto01 = $attrs["TEXTO01"];
  $texto02 = $attrs["TEXTO02"];
  $texto03 = $attrs["TEXTO03"];
  $texto04 = $attrs["TEXTO04"];
  $texto05 = $attrs["TEXTO05"];
  $texto06 = $attrs["TEXTO06"];
  $texto07 = $attrs["TEXTO07"];
  $texto08 = $attrs["TEXTO08"];
  $texto09 = $attrs["TEXTO09"];
  $texto10 = $attrs["TEXTO10"];
  $texto11 = $attrs["TEXTO11"];
  $texto12 = $attrs["TEXTO12"];
  
  $titulo01 = $attrs["TITULO"];
  $titulo02 = $attrs["TITULO02"];
  $titulo03 = $attrs["TITULO03"];
  $titulo04 = $attrs["TITULO04"];  
  $img = $attrs["IMG"];
  $img02 = $attrs["IMG02"];
  $img03 = $attrs["IMG03"];
  $img04 = $attrs["IMG04"];           
?>


    <h5>Alterar o módulo abaixo:<input name="check02" value="alterar" type="checkbox"></h5>

    <div id="box02">  
      <?   
      print "<div class='pos06'><div class='marcadores'>5-</div><input onKeyUp='Contar(this,60,1)' type='text' name='tituloMore' value='".$titulo01."' size='28'></div>";
      print "<div class='pos07'><div class='marcadores'>6-</div><textarea onKeyUp='Contar(this,224,1)' rows='7' name='texto01' cols='28'>".nl2br($texto01)."</textarea></div>";
      print "<div class='pos08'><div class='marcadores'>7-</div><input type='file' name='urlMoreFile' size='14'></div>";
      print "<div class='pos08'><input type='hidden' name='urlMore' value='".$img."' size='14'></div>";
      print "<div class='pos09'><div class='marcadores'>8-</div><textarea onKeyUp='Contar(this,342,1)' rows='10' name='texto02' cols='48'>".nl2br($texto02)."</textarea></div>";
      print "<div class='pos10'><div class='marcadores'>9-</div><textarea onKeyUp='Contar(this,1162,1)' rows='19' name='texto03' cols='48'>".nl2br($texto03)."</textarea></div>";
      ?>
    <div class="pos11"><input type="submit" value="Confirmar e realizar as alterações"></div>
    </div>
</div>

<div class="modulraInferior02"></div>

<div id="boxHidden">    
      <?      
      print "<input type='text' name='titulo02' value='".$titulo02."' size='28'>";
      print "<textarea rows='7' name='texto04' cols='28'>".nl2br($texto04)."</textarea>";
      print "<input type='text' name='img02' value='".$img02."' size='14'>";
      print "<textarea rows='10' name='texto05' cols='48'>".nl2br($texto05)."</textarea>";
      print "<textarea rows='18' name='texto06' cols='48'>".nl2br($texto06)."</textarea>";
      
      print "<input type='text' name='titulo03' value='".$titulo03."' size='28'>";
      print "<textarea rows='7' name='texto07' cols='28'>".nl2br($texto07)."</textarea>";
      print "<input type='text' name='img03' value='".$img03."' size='14'>";
      print "<textarea rows='10' name='texto08' cols='48'>".nl2br($texto08)."</textarea>";
      print "<textarea rows='18' name='texto09' cols='48'>".nl2br($texto09)."</textarea>";
      
      print "<input type='text' name='titulo04' value='".$titulo04."' size='28'>";
      print "<textarea rows='7' name='texto10' cols='28'>".nl2br($texto10)."</textarea>";
      print "<input type='text' name='img04' value='".$img04."' size='14'>";
      print "<textarea rows='10' name='texto11' cols='48'>".nl2br($texto11)."</textarea>";
      print "<textarea rows='18' name='texto12' cols='48'>".nl2br($texto12)."</textarea>";      
      ?>           
</div>

<?
 }
}
function FuncFinal02($parser02, $elemento02){
}

?>
</form>


</body>
</html>


Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...