Aller au contenu

crunch recalcitrant ...


Sujets conseillés

Posté

voilà, je suis en train de créer un code ... :

<?php
include("conf.php");
function crunch($tx,$lg) {
  $tmp = 0;
  if(strlen($tx)>$lg) $tmp = strpos($tx," ",$lg);
  if($tmp) $tx2 = substr($tx,0,$tmp);
  else $tx2 = substr($tx,0,$lg);
  if($tx2!=$tx) $tx2.=" ...";
  return $tx2;
}
$i = 0;
mysql_connect($sql_ch,$sql_no,$sql_pa) or die ("ugyyu");
mysql_select_db($sql_db) or die ("ikgogyu");
$q = mysql_query("select * from articles LIMIT 0,1") or die ("ihlhbfrliuh");
while($row = mysql_fetch_array($q)){
$st2 = strlen($row['tx']);
$s = crunch($row['tx'],$row['lg1']);
echo $s;
}
?>

il sert à ne prendre que les premiers caractères d'une chaine ...

mais le probleme, c'est que le script ne retourne rien ...

mais, en le modifiant un peu :

<?php
include("conf.php");
function crunch($tx,$lg) {
  $tmp = 0;
  if(strlen($tx)>$lg) $tmp = strpos($tx," ",$lg);
  if($tmp) $tx2 = substr($tx,0,$tmp);
  else $tx2 = substr($tx,0,$lg);
  if($tx2!=$tx) $tx2.=" ...";
  return $tx2;
}
$i = 0;
mysql_connect($sql_ch,$sql_no,$sql_pa) or die ("ugyyu");
mysql_select_db($sql_db) or die ("ikgogyu");
$q = mysql_query("select * from articles LIMIT 0,1") or die ("ihlhbfrliuh");
while($row = mysql_fetch_array($q)){
$st2 = strlen($row['tx']);
crunch($row['tx'],$row['lg1']);
echo "crunch($row['tx'],$row['lg1'])";
}
?>

j'obtiens ça :

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/free.fr/0/0/bdbourgeron/repertoire/scripratik.php on line 18

que se passe t il ?

pourquoi ce message ?

merci !

Posté

Salut,

Remplaces ta dernière ligne par:

echo "crunch(" . $row['tx'] . "," . $row['lg1'] . ")";

;) Dan

Posté

Retourner les premiers caractères d'une chaine ?

la fonction substr sert justement à ca ;)

Utilisation :

$rest = substr("abcdef", 1);    // retourne "bcdef"
$rest = substr("abcdef", 1, 3); // retourne "bcd"
$rest = substr("abcdef", 0, 4); // retourne "abcd"
$rest = substr("abcdef", 0, 8); // retourne "abcdef"

Dixit le Manuel :D

Tu peux aussi essayer à l'envers

$rest = substr("abcdef", 0, -1);  // retourne "abcde"
$rest = substr("abcdef", 2, -1);  // retourne "cde"
$rest = substr("abcdef", 4, -4);  // retourne ""
$rest = substr("abcdef", -3, -1); // retourne "de"

A.

Posté

Si tu mets :

echo "crunch(" . $row['tx'] . "," . $row['lg1'] . ")";

Tu lui demandes d'afficher :

le mot 'crunch', suivi de la chaine 'tx', une virgule, et la longueur.

Si tu veux afficher le résultat de la fonction, alors c'est :

echo"
".crunch($row['tx'],$row['lg1']);

A.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...