OVH Cloud OVH Cloud

ecrire et editer dans form et mysql depuis mac et pc

1 réponse
Avatar
weepee
Bonjour,
(Je pense que le titre contient la question)
Quelles fonctions mettre derrière un form de création et d'édition de texte
manipulé par mac ou pc
qui doit alimenter une page web dynamique avec si possible des sauts de
ligne (j'abandonne les espaces incécables...)

il faut faire cela =
convertir les fins de ligne ecrits par les deux plateformes ...
gerer les problèmes de guillemets ...
puis transformer les retours fins de ligne en <br>

est-ce que j'oublie quelque chose ?


il me semble que je me retrouve qvec qq chose de pas beau non ? =

function stringInDB($pee) {
$pee = preg_replace("/(\r\n|\n|\r)/", "&lt;br&gt;", $pee); //
cross-platform newlines
$pee = preg_replace('/\n\n+/', '\n\n', $pee); // take care of duplicates
$pee = mysql_escape_string(htmlspecialchars(stripslashes($pee)));
$pee = preg_replace ("/(\r\n|\n|\r)/", "<br>", $pee);
$pee = ereg_replace('&lt;br&gt;', "<br>", $pee);
$pee = ereg_replace('&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;', "<br>",
$pee);
return $pee;
}

1 réponse

Avatar
Frederic BISSON
convertir les fins de ligne ecrits par les deux plateformes ...
gerer les problèmes de guillemets ...
puis transformer les retours fins de ligne en <br>

est-ce que j'oublie quelque chose ?
Tout dépend de ce que tu veux en faire ;-)


Tu peux également considérer que ton texte est constitué de paragraphes
(séparateur=double retour fin de ligne) ou que chaque ligne commençant
par un tirer suivi d'un espace ('- ') est un élément de liste etc...

Tu as d'autres possibilités de remplacement. Tu peux t'inspirer des
quelques lignes ci-dessous :
-------------------------------------------------------------------
$texte=split("rn|r|n",$chaine);

$pattern=array();
$replace=array();

// Mise entre "xxxx"
$pattern[]='/&quot;/';
$replace[]='"';
$pattern[]='/([ (])"([a-z0-9&][^"]*[a-z0-9;])"([ ).,])/i';
$replace[]='1&ldquo;2&rdquo;3';
$pattern[]='/"/';
$replace[]='&quot;';

// Remplacement des points de suspension
$pattern[]='/([^.]).../';
$replace[]='1&hellip;';

// Remplacement du signe multiplicateur
$pattern[]='/([0-9])x([0-9])/';
$replace[]='1&times;2';

// Remplacement de <==>
$pattern[]='/&lt;==&gt;/';
$replace[]='&hArr;';

// Remplacement de <-->
$pattern[]='/&lt;--&gt;/';
$replace[]='&harr;';

// Remplacement de ==>
$pattern[]='/==&gt;/';
$replace[]='&rArr;';

// Remplacement de -->
$pattern[]='/--&gt;/';
$replace[]='&rarr;';

// Remplacement de <= $pattern[]='/&lt;==/';
$replace[]='&lArr;';

// Remplacement de <--
$pattern[]='/&lt;--/';
$replace[]='&larr;';

// Remplacement de > $pattern[]='/&gt;=([^=])/';
$replace[]='&ge;1';

// Remplacement de < $pattern[]='/&lt;=([^=])/';
$replace[]='&le;1';

// Mise en gras
$pattern[]='/([ (])*([a-z0-9&][^*]*[a-z0-9;])*([ ).,])/i';
$replace[]='1<b>2</b>3';

// Mise en souligné
$pattern[]='/([ (])_([a-z0-9&][^_]*[a-z0-9;])_([ ).,])/i';
$replace[]='1<u>2</u>3';

// Mise en italique du texte entre parenthèses
$pattern[]='/([ (])/([a-z0-9&][^/]*[a-z0-9;])/([ ).,])/i';
$replace[]='1<i>2</i>3';
$pattern[]='/(([^)]+))/i';
$replace[]='(<i>1</i>)';

// Mise en lien
$pattern[]='/(http://[^ ()[]]+)/i';
$replace[]='<a href="1">1</a>';

// Remplacement des [[xxxx]]
$pattern[]='/[[([a-z]+)]]/i';
$replace[]='&1;';

// Effectue les remplacements
foreach(texte as $ligne) {
echo trim(preg_replace($pattern,$replace,' '.htmlentities($ligne).' '));
}
-------------------------------------------------------------------
@+

Frédéric BISSON