SlyX 0 Denunciar post Postado Novembro 5, 2004 echo substr($variavel, 0, 250).'...';soh q neste variavel tem tipo assim$variavel = <font face="verdana" size="1" color="asd">Texto aqui e bla bla bla...</font><b>Texto aqui tambem</b>e por ai vai..eu queria que ele ignorasse estas tas HTML <font> etc..queria q ele so "lesse" oq é realmente texto :D tem como?alguem me ajuda? :D Compartilhar este post Link para o post Compartilhar em outros sites
andrearruda 0 Denunciar post Postado Novembro 5, 2004 jeito tem antes usar a funcao substr()... você tem usar alguma funcao para reitar a tag htm... vou ver se tenho algo nas minha funcoes assim q achar posto a funcao para retirar tag!!! Compartilhar este post Link para o post Compartilhar em outros sites
andrearruda 0 Denunciar post Postado Novembro 5, 2004 PHP [/tr][tr]<?function removeTag($seutexto){ $iniciofoto=strpos($seutexto, "<"); $stringfoto = substr($seutexto, $iniciofoto); $fimfoto=strpos($stringfoto, ">"); $stringfoto = substr($stringfoto, 0, $fimfoto+1); $stringfoto= str_replace($stringfoto, "", $seutexto); $verificamais=strpos($stringfoto, "<"); if ($verificamais){ $stringfoto=removeTag($stringfoto); } return($stringfoto); } $seutexto="<font face='verdana' size='2' color='#999999'>batatinha tem essa foto: <IMG SRC='teste.jpg'>, mas nao quer que ela apareca na tela, ela tem mais fotos <IMG SRC='batatinha2.jpg' border=0> e quer que todas sejam eliminadas na exibição</font>"; print "Texto com a funcao - ".removeTag($seutexto)."<p>"; print "Texto sem a funcao - ".$seutexto; ?> [/tr] Ai esta a funcao para retira tag html Compartilhar este post Link para o post Compartilhar em outros sites
andrearruda 0 Denunciar post Postado Novembro 5, 2004 tome cuidado com a funcao substr ele pode no final do texto corta uma palavra no meio!!!crei uma funcao q espara o texto po espcao ou seja contando palavras!!! Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Novembro 5, 2004 PHP [/tr][tr]<?function removeTag($seutexto){ $iniciofoto=strpos($seutexto, "<"); $stringfoto = substr($seutexto, $iniciofoto); $fimfoto=strpos($stringfoto, ">"); $stringfoto = substr($stringfoto, 0, $fimfoto+1); $stringfoto= str_replace($stringfoto, "", $seutexto); $verificamais=strpos($stringfoto, "<"); if ($verificamais){ $stringfoto=removeTag($stringfoto); } return($stringfoto); } $seutexto="<font face='verdana' size='2' color='#999999'>batatinha tem essa foto: <IMG SRC='teste.jpg'>, mas nao quer que ela apareca na tela, ela tem mais fotos <IMG SRC='batatinha2.jpg' border=0> e quer que todas sejam eliminadas na exibição</font>"; print "Texto com a funcao - ".removeTag($seutexto)."<p>"; print "Texto sem a funcao - ".$seutexto; ?> [/tr] Ai esta a funcao para retira tag html caralo vo tentar este..bem louco o codigo ehhe vlw ae :D Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Novembro 5, 2004 tipo nao funciona este ele remove as tags.. mas oq eu preciso é assim: que ele exiba tipo 300 caracters mas nestes caracters 'é para exibir com as tags', mas as tags nao devem ser CONTADAS? entende? se eu boto tipo PHP [/tr][tr]$variavel = '<font face="verdade"> TEXTO DE TESTE </font>'; echo substr($variavel, 0, 5).'.'; [/tr] neste caso caso ele ira imprimir: <font , oq ira f**** meu codigo asuhas eu queria que ele imprimisse: TEXTO , mas este texto com o <font> saca? eheh Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Novembro 5, 2004 tipo pensei em um logica rapida mas nao to conseguindo fazer.. pensei assim, ele pega na tag $variavel e envez de contar oq tem fora, ele conta os chars q tem DENTRO da tag, ai quando eu der o substr eu faço algo tipo: PHP [/tr][tr]$chars = $chartag + 300; echo substr($variavel, 0, $chars); [/tr] Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Novembro 6, 2004 up?! Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Novembro 6, 2004 eu nao quero retirar as tags..eu quero contar quantos chars tem dentro das tagsexemplo:<font size=2>Olá</font><font size=2> = 13 chars</font> = 7 charstotal = 20 charssaca? Compartilhar este post Link para o post Compartilhar em outros sites
andrearruda 0 Denunciar post Postado Novembro 6, 2004 Agora você complicou um pouco vou pensar em algo qualquer se eu consiguir eu posto isso para você... to meio meio corrido pra mim.... mas se você conseguir antes posta o codigo ai beleza!!! Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Novembro 6, 2004 PHP [/tr][tr]$text = "<font face='verdana' size='2' color='#999999'>batatinha tem essa foto: <IMG SRC='teste.jpg'>, mas nao quer que ela apareca na tela, ela tem mais fotos <IMG SRC='batatinha2.jpg' border=0> e quer que todas sejam eliminadas na exibição</font>";$numChars = 50; for ($num=0;$chars<$numChars;$num++) { if ($text[$num]=="<") $t++; else if ($text[$num]==">") $t=0; else if ($t==0) { $chars++; } $newText .= $text[$num]; } echo $newText;[/tr]Em $numChars você coloca o tanto de caracters que você quer. ;) Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Novembro 6, 2004 PHP [/tr][tr]$text = "<font face='verdana' size='2' color='#999999'>batatinha tem essa foto: <IMG SRC='teste.jpg'>, mas nao quer que ela apareca na tela, ela tem mais fotos <IMG SRC='batatinha2.jpg' border=0> e quer que todas sejam eliminadas na exibição</font>";$numChars = 50; for ($num=0;$chars<$numChars;$num++) { if ($text[$num]=="<") $t++; else if ($text[$num]==">") $t=0; else if ($t==0) { $chars++; } $newText .= $text[$num]; } echo $newText;[/tr]Em $numChars você coloca o tanto de caracters que você quer. ;) vo testar aquiaxo q este vai dar certo vlw :D Compartilhar este post Link para o post Compartilhar em outros sites
andrearruda 0 Denunciar post Postado Novembro 8, 2004 PHP [/tr][tr]function cortaTexto($string,$numChars){ for ($num=0; $chars<$numChars; $num++) { if ($string[$num]=="<") $tag++; else if ($string[$num]==">") $tag=0; else if ($tag==0) { $chars++; } $newString .= $string[$num]; } return $newString; } $texto = "<font face='verdana' size='1'>Jogadores do São Paulo festejam gol na vitória que manteve a equipe na luta pelo título e pôs o Botafogo na zona de descenso; veja as fotos<font>"; print cortaTexto($texto,'10'); [/tr] Esta com certeza vai para o meu banco de funcoes... valew intel+ Compartilhar este post Link para o post Compartilhar em outros sites
andrearruda 0 Denunciar post Postado Novembro 8, 2004 Dei uma melhorada nesta funcao por favor realizem teste para ver se esta ok!!! NOVA VERSAO PHP [/tr][tr]<? function cortaTexto($string,$corte){ $palavras = explode(" ",$string); $totalPalavras = count($palavras); $incrementa = ""; for($i=0; $i<$corte; $i++) { if(substr($palavras[$i],0,1)=="<"){ $iniTag = strpos($string,"<"); $fimTag = strpos($string,">")+1; $tag = substr($string,$iniTag,$fimTag); $tagEsp = count(explode(" ",$tag)); $corte+=$tagEsp; } $incrementa .= $palavras[$i]." "; } return trim($incrementa)."..."; } $texto = "<font face='verdana' size='1'> Jogadores do São Paulo festejam gol na vitória que manteve a equipe na luta pelo título e pôs o Botafogo na zona de descenso; veja as fotos <font>"; print cortaTexto($texto,'2'); ?> [/tr] ANTIGA VERSAO PHP [/tr][tr]<? function cortaTexto($string,$numChars){ for ($num=0; $chars<$numChars; $num++) { if ($string[$num]=="<") $tag++; else if ($string[$num]==">") $tag=0; else if ($tag==0) { $chars++; } $newString .= $string[$num]; } return $newString; } $texto = "<font face='verdana' size='1'> Jogadores do São Paulo festejam gol na vitória que manteve a equipe na luta pelo título e pôs o Botafogo na zona de descenso; veja as fotos <font>"; print cortaTexto($texto,'20'); ?> [/tr] Compartilhar este post Link para o post Compartilhar em outros sites
SlyX 0 Denunciar post Postado Novembro 8, 2004 andre PHP [/tr][tr]<?function cortaTexto($string,$corte){ $palavras = explode(" ",$string); $totalPalavras = count($palavras); $incrementa = ""; for($i=0; $i<$corte; $i++) { if(substr($palavras[$i],0,1)=="<"){ $iniTag = strpos($string,"<"); $fimTag = strpos($string,">")+1; $tag = substr($string,$iniTag,$fimTag); $tagEsp = count(explode(" ",$tag)); $corte+=$tagEsp; } $incrementa .= $palavras[$i]." "; } return trim($incrementa)."..."; } $texto = "<font face='verdana' size='1'> Jogadores do <b>São Paulo</b> festejam gol na vitória que manteve a equipe na luta pelo título e pôs o Botafogo na zona de descenso; veja as fotos <font>"; print cortaTexto($texto,'5'); ?>[/tr] igual a PHP [/tr][tr]<?function cortaTexto($string,$corte){ $palavras = explode(" ",$string); $totalPalavras = count($palavras); $incrementa = ""; for($i=0; $i<$corte; $i++) { if(substr($palavras[$i],0,1)=="<"){ $iniTag = strpos($string,"<"); $fimTag = strpos($string,">")+1; $tag = substr($string,$iniTag,$fimTag); $tagEsp = count(explode(" ",$tag)); $corte+=$tagEsp; } $incrementa .= $palavras[$i]." "; } return trim($incrementa)."..."; } $texto = "<font face='verdana' size='1'> Jogadores do São Paulo festejam gol na vitória que manteve a equipe na luta pelo título e pôs o Botafogo na zona de descenso; veja as fotos <font>"; print cortaTexto($texto,'5'); ?>[/tr] apenas mudei o Bold no SAO PAULO e ele deveria imprimir igual ne? :) tem algo meio erradinho eheh Compartilhar este post Link para o post Compartilhar em outros sites
andrearruda 0 Denunciar post Postado Novembro 8, 2004 verdade esta funcao esta precisando de up!!! vou da uma olhadinha e ver se consigo fazer alguma alteracao... estao funcao q você esta desenvolvendo é muito interessante!!! Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Novembro 8, 2004 Acho que você não entendeu, ele não quer tirar as tags, ele quer pegar um tanto de caracters sem contar o que for uma tag, ;) Compartilhar este post Link para o post Compartilhar em outros sites
andrearruda 0 Denunciar post Postado Novembro 9, 2004 Versao 0.3 PHP [/tr][tr]<? function iniTag($palavra){ $contaPal = strlen($palavra); for($i=0; $i<$contaPal; $i++){ if($palavra[$i]=="<"){ $achou = "1"; $i = $contaPal; }else{ $achou = "0"; } } return $achou; } function fimTag($palavra){ $contaPal = strlen($palavra); for($i=0; $i<$contaPal; $i++){ if($palavra[$i]==">"){ $achou = "1"; $i = $contaPal; }else{ $achou = "0"; } } return $achou; } function cortaTexto($string,$corte){ $palavra = explode(" ",$string); $totalPalavras = count($palavra); $incrementa = ""; for($i=0; $i<$corte; $i++) { $iniTag = iniTag($palavra[$i]); if($iniTag=="1"){ $palavraTag = $i+1; $abreTag = $i; while($palavraTag<$totalPalavras){ $fimTag = fimTag($palavra[$palavraTag]); if($fimTag=="1"){ $fechaTag = $palavraTag; $palavraTag=$totalPalavras; }else{ $palavraTag++; } } for($ac=$abreTag; $ac<$fechaTag+1; $ac++){ $tag .= $palavra[$ac]." "; } $tag = trim($tag); $tagEsp = count(explode(" ",trim($tag)))-1; $corte = $corte+$tagEsp; } $incrementa .= $palavra[$i]." "; } return trim($incrementa)."..."; } $texto = "<font face='verdana' size='1'>1 2 3 4 5 6<font> 7 8 9 10"; print cortaTexto($texto,'100'); ?> [/tr] Esta versao ainda esta bugada pq, as tag(<img>) tem q estar desta maneira <img>12213<fonte> ou seja sem espacos entre os texto!!! se ficar assim <img> 123 <fonte> ela da pau!!! Se alguem estiver afim de fazer uma funcao para limpar espacos das tag para melhorar esta funcao fique avontade!!! Falow intel+ http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Novembro 9, 2004 echo substr($variavel, 0, 250).'...'; soh q neste variavel tem tipo assim $variavel = <font face="verdana" size="1" color="asd">Texto aqui e bla bla bla...</font><b>Texto aqui tambem</b> e por ai vai.. eu queria que ele ignorasse estas tas HTML <font> etc.. queria q ele so "lesse" oq é realmente texto :D tem como? alguem me ajuda? :D Afinal você quer oq?Li o tópico e o foco da questão parece q não é o msm do principio. você quer que ele pegue: PHP [/tr][tr]$variavel = <font face="verdana" size="1" color="asd">Texto aqui e bla bla bla...</font><b>Texto aqui tambem</b>[/tr] e retorne: Texto aqui e bla bla bla... Texto aqui tambem. Desta msm forma?!?! Flwwww... Compartilhar este post Link para o post Compartilhar em outros sites
FabricioGomes 0 Denunciar post Postado Novembro 9, 2004 so ha um problema... voce teria que ignorar as tags posteriores ao fim do texto de tamanho que voce quer... p.ex. texto = <font face="verdana" size="1" color="asd">Texto aqui e bla bla bla...</font><b>Texto aqui tambem</b> se voce for pegar 15 caracteres (ignorando as tags), seu texto ficaria assim texto = "<font face="verdana" size="1" color="asd">Texto aqui e bl</font><b></b>" ou seja, voce tiraria o texto, mas as tags continuariam, podendo causar problemas... ah, é so para esquentar a duvida... http://forum.imasters.com.br/public/style_emoticons/default/devil.gif Compartilhar este post Link para o post Compartilhar em outros sites