Compter le nombre de caractère que retourne un fichier .php

CrazyCow007

WRInaute discret
Bonjour à tous,

J'aimerais créer une page WAP pour mon site pour afficher les news en format compatible avec les téléphones portables. Le seul soucis c'est que la taille de la page est assez limité (~15 Ko).

J'aimerais pouvoir couper (ou dans le meilleur des cas diviser en plusieurs pages) ma news grâce à des fonctions PHP.

Voilà mon code actuel mais je me pose toujours au même problème : comment compter le nombre de caractère qui seront affiché sur le navigateur pour pouvoir couper ou diviser le texte ?

Code:
<?
header("Content-Type: text/vnd.wap.wml");
echo '<'.'?xml version="1.0" encoding="iso-8859-1"?'.'>';
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="Actualité de James Bond">
<p>
<?PHP
$number=10;
$template="WAP";
$return = include("/home/j/jamesbond/www/news/show_news.php)";

$max=200;  
if(strlen($return)>=$max){$return=substr($return,0,$max);  
$espace=strrpos($return," ");  
$return=substr($return,0,$espace)."..."; }  
echo $return;  
?>		
</p>
</card>
</wml>

Je précise bien que ce code ne fonctionne pas comme je le souhaiterais parce que
Code:
strlen($return)=1
:?

Merci d'avance pour votre aide !
 

mowmow

WRInaute impliqué
strlen($return) est égal à 1 car il contient la valeur de retour de ton include ;) Pour compter le nombre de caractères du fichier, il faudrait qu'il soit en .txt pour ensuite faire un file_get_contents, qui retournera tout le texte de ton fichier. Tu ne peux pas évaluer le nombre de caractères que contient ton fichier php, à moins que tout le texte soit contenu dans une seule variable.
 

bozoleclown

WRInaute impliqué
Voila j'ai trouvé ce qu'il te faut

en php tu peux paramétrer quand l'output de ton script sera envoyé
un lien vers la doc
http://www.php.net/outcontrol

ainsi tu fais un ob_start(); au début de ton script

au moment où tu veux que la page soit envoyée, tu peux faire juste avant un ob_get_length pour connaitre la taille de ton buffer

je te conseille de lire la page de php.net, elle explique tout bien comme il faut

++
Bozo
 

CrazyCow007

WRInaute discret
Merci beaucoup je vais essayer ça :D

Si je n'y arrive pas je suppose que je peux toujours faire appel à l'url Rewriting en demandant un fichier en extension .txt qui renvoit au fichier .php
Ca devrait exécuter le fichier non ?

En attendant je vais essayer de voir avec les fonctions de bufferisation de sortie :)
 

correiaj

WRInaute impliqué
file_get_content s´applique à un fichier html sans problème...
Après il faut évidemment traiter le fichier pour transformer du html en texte.
Et dj_apx, les fonctions php retournent toujours au moins une valeur booléenne.
Sinon, tu peux utiliser un return dans ton include pour que l´include retourne tel ou tel valeur.
 

Discussions similaires

Haut