Rechercher : dans
Par :

[PHP] virer retours chariot d'une chaine

Dernière réponse le 27 jun 2009 à 11:37:46 Jef.p18, le 2 aoû 2005 à 11:20:45 
 Signaler ce message aux modérateurs

Salut j'utilise la fonction str_replace pour essayer d'enlever les retours chariot (=chr(13) d'une chaine avant de la stocker en base de données ... mais rien y fait ! quand je teste avec un simple echo ils sont bien remplacés mais subsiste un espace bizarroïde. et quand je balance le tout a mysql mes retours chariot sont toujours là !!! :-///

// retraitement du texte à insérer
$news = str_replace(chr(13), "-", $_REQUEST['news_input']);

// execution sql 1
$sql1_query = mysql_query("
INSERT INTO mtg_news (date, joueur, news)
VALUES ('"
. $annee . "-" . $mois ."-" . $jour . "','"
. strtolower(trim(substr($_REQUEST['joueur_input'], 0, 100))) . "','"
. $news . "')"
) or die (mysql_error());

merci !
+

Meilleures réponses pour « [PHP] virer retours chariot d'une chaine » dans :
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) VoirConversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce cette...
Caractéristiques du langage Php VoirL'interprétation du code Un code PHP (celui compris entre les délimiteurs ) est un ensemble d'instructions se terminant chacune par un point-virgule (comme en langage C). Lorsque le code est interprété, les espaces, retours chariot et...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

kilian, le 2 aoû 2005 à 12:56:56

Essaie avec:
$news = str_replace("\n", "-", $_REQUEST['news_input']);
Et aussi peut être à la suite:
$news = str_replace("\t", "-", $_REQUEST['news_input']);

Tes espaces bizzares sont peut être des tabulations.

Répondre à kilian

2

StreM, le 3 aoû 2005 à 11:25:45

Attention, sous windows, les retours chariot sont :
\r\n ou \n\r, je sais plus... Enfin la fonction nl2br arrange ca en fonction de l'OS du serveur (donc pas de soucis pour faire tourner ton script sur un serveur linux).
Donc :
$news = str_replace("<br>","-", nl2br($_REQUEST['news_input'])); devrait marcher.

Moins le blanc est intelligent, plus le noir lui parait bête

Répondre à StreM

3

jef, le 3 aoû 2005 à 20:39:36

Merci mais rien n'y fait :-///
+

Répondre à jef

4

jef, le 3 aoû 2005 à 21:54:45
  • +1

Rien ne vaut une bonne boucle !

$str = $_REQUEST['news_input'];
$pos = strpos($str, "\n");
if ($pos !== false) {
while($pos !== false) {
$tmp = $tmp . " " . trim(substr($str, 0, $pos));
$str = substr($str, $pos+1, strlen($str));
$pos = strpos($str, "\n");
};
$news = $tmp . " " . trim($str);
} else {
$news = $str;
}

ce bricolage fonctionne ;-)

+

Répondre à jef

5

hacki, le 3 fév 2009 à 01:33:25

C bidon mais ça marche:

$n = '
';
string = str_replace($n, '', $_POST['string_with_chariot']);

;)

Répondre à hacki

6

hamwilly, le 22 avr 2009 à 13:06:32

Salut hacki,

utilises plutôt ceci je pense que c'est mieu

$n = str_replace(CHR(13),"",$n); $n = str_replace(CHR(10),"",$n);

Répondre à hamwilly

7

 nicodragon, le 27 jun 2009 à 11:37:46

$n = str_replace(CHR(13),"",$n); $n = str_replace(CHR(10),"",$n);

c'est bien mais

$n = str_replace(CHR(13).CHR(10),"",$n);

c'est mieux.

Merci pour votre aide car j'avais oublié comment on faisait. (vive google) LoL

Répondre à nicodragon