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>
Pergunta
Fernanda Braga
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!
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.