Ir para o conteúdo
fil79

php-formatar parágrafos

Mensagens Recomendadas

fil79    5
fil79

Boas

Estou a usar um editor javascript http://tinymce.moxiecode.com/ para editar texto e inserir numa tabela. Ao carregar no enter o próprio editor cria a tag HTML <p>..

Acontece que a página que recebe estes dados tem de ser desta maneira (usei também as tags para explicar como pretendo qu fique):

<table>
<tr><td>logo  empresa</td></tr>
<tr>
    <td>1ª parágrafo(lado esquerdo)  </td><td>2ª parágrafo(lado direito)</td>
</tr>
<tr><td>logo  empresa</td></tr>
<tr>
    <td>3ª parágrafo(lado esquerdo)  </td><td>4ª parágrafo(lado direito)</td>
</tr>

//etc.......

</table>

A minha dúvida é como posso fazer isto no php..como posso partir esta string desta maneira.

Espero que me tenha feito entender

Desde já agradeço

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yoda    139
yoda

Boas.

Tás perto de um problema com o qual eu me deparei e guardei a solução na gaveta para futura implementação :)

Mas para te responder de uma forma diferente, podes usar regex em php para correr o conteúdo dos td's e ver a informação deles.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
fil79    5
fil79

eu poderia fazer assim:


<?php
$texto="<p>Ola tudo bem</p><p>Como estas</p>";
$paragrafo=explode('</p>',$texto);//Isto separa $texto pelo </p> tranformando $paragrafo num array
echo '
<table>

<tr><td>logo empresa</td></tr>
<tr>
<td>'.$paragrafo[0].'</td><td>'.$paragrafo[1].'</td>
</tr>

<tr><td>logo empresa</td></tr>
<tr>
<td>'.$paragrafo[2].'</td><td>'.$paragrafo[3].'</td>
</tr>
</table>

o problema é se o utilizador carrega várias vezes no enter, ficando o texto que vem da base de dados assim:

<p>paragrafo1</p>

<p>paragrafo2</p>

<p> </p>

<p> </p>

<p> </p>

<p>paragrafo3</p>

e assim não vai funcionar...necessito de saber se o parágrafo tem de facto texto ou é somente mais uma quebra de linha..parece-me que depois do explode ainda terei de usar um foreach

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
fil79    5
fil79

os páragafos poderão ser ilimitados...saí eu supor que será necessário o foreach depois do explode..tenho é de criar uma instrução para ser considerado parágrafo somente os que não começam por um  ...penso que é essa a lógica

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
scorch    19
scorch

Algo assim:

<?php
$texto="<p>Ola tudo bem</p><p>Como estas</p><p> </p><p>Ola tudo bem</p><p>Como estas</p>";
$paragrafo=explode('</p>',$texto);//Isto separa $texto pelo </p> tranformando $paragrafo num array
$coluna = 1; //A coluna
echo '
<table><tr><td>logo empresa</td></tr>';
foreach($paragrafo as $nome => $value){
if ($coluna == 1 and $value != "<p> "){
	echo '<tr>
	<td>'.substr($value, 3).'</td>';
	$coluna = 2;
} elseif($value != "<p> ") {
	echo '<td>'.substr($value, 3).'</td>
	</tr>';
	$coluna = 1;
}

}
echo '</table>';

?>

No meu computador funcionou. Se tiveres dúvidas no código não hesites em perguntar. :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade