begin process at 2012 05 28 22:06:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Débutants

 > 

grosse question d'un débutant =P


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

grosse question d'un débutant =P

dimanche 26 juin 2005 à 19:36:31 | grosse question d'un débutant =P

sidikire

Salut!

je voudrait faire un petit "créateur d'article", tout va bien jusqu'ici, mais j'aimerais avoir des fonctions, car moi ce que j'ai c'est seulement un petit "Textbox"... Pas très sympa, il ne peuvent pas mettre l'écriture en gras,italique,mettre des smiley,etc.. J'aimerais savoir comment faire ça!
Du genre à celle de phpcs là, qu'on peut souligner des mots et qu'on peut le mettre en gras,souligné,etc.. S'il existerais un petit script pour que je comprene ou que quelqu'un pourrais me donner un exemple.. ça serait très apprécié =)! Car je ne sait pas comment faire ça du tout..., alors il a quelqu'un qui peut me guider??
Merci d'avance

Sidikire
dimanche 26 juin 2005 à 22:22:09 | BBCode

grandvizir

$Value = un champ de texte;
$Value = htmlentities($Value);
$Value = str_replace('[b]','<b>',$Value);
... pareil avec plein de balises HTML


C'est le principe du BBCode.

Dans quelques temps, je déposerai un code qui répondra à tes attentes (mais c'est une coïncidence  !)

=============
Validez les réponses si ok...

ViewVite : HTML
dimanche 26 juin 2005 à 23:14:35 | Re : grosse question d'un débutant =P

sidikire

hum.. d'acc! Tu me f'ras signe alors

Sidikire
lundi 27 juin 2005 à 13:55:18 | Ca risque de prendre du temps

grandvizir

Plus çà va et plus j'ai d'idées... alors je préfère en attendant te donner une exclusivité :

<?php
  $CrLf = chr(13).chr(10);
  $CrLf_linux = chr(10);

  $HtmlTable_from = array ('[b]', '[/b]', '[i]', '[/i]', '[u]', '[/u]', '[code]', '[/code]', '[quote]', '[/quote]', '[small]', '[/small]', '[blue]', '[/blue]', '[red]', '[/red]', '[green]', '[/green]', '[purple]', '[/purple]', '[navy]', '[/navy]', '[black]', '[/black]');
  $HtmlTable_dest = array ('<b>', '</b>', '<i>', '</i>', '<u>', '</u>', '<code>', '</code>', '<blockquote><font size=2><i>', '</i></font></blockquote>', '<small>', '</small>', '<font color="blue">', '</font>', '<font color="red">', '</font>', '<font color="green">', '</font>', '<font color="purple">', '</font>', '<font color="navy">', '</font>', '<font color="black">', '</font>');

  function CrLfToBR($Text) {
    global $CrLf, $CrLf_linux;
    $Text = str_replace($CrLf,'<br>',$Text);
    $Text = str_replace($CrLf_linux,'<br>',$Text);
    return $Text;
  }

  function HtmlReplacement($Value) {
    global $HtmlTable_from, $HtmlTable_dest;
    $Idx = 0;
    foreach($HtmlTable_from as $s) {
      $Value = str_replace($s,$HtmlTable_dest[$Idx],$Value);
      $Idx++;
    }
    return $Value;
  }

  function Linking($Value) {
  //INITIALISATION
    $Opn = 0;
    $Cls = 1;
    $KeyO = '[link]';
    $KeyC = '[/link]';
  //TRAITEMENT
    while ($Cls>$Opn) {
      $Opn = strpos($Value,$KeyO);
      $Cls = strpos($Value,$KeyC);
      if ($Cls>$Opn) {
        $Link = substr($Value,$Opn+strlen($KeyO),$Cls-$Opn-strlen($KeyO));
        $Value = str_replace($KeyO.$Link.$KeyC,'<a href="'.$Link.'" target="_blank">'.$Link.'</a>',$Value);
  //NDLR: cette fonction ne requiert pas de HTLMENTITIES étant donné que ce filtre a déjà été appliqué par la fonction DISPLAY
      }
    }
    return $Value;
  }

  function Display($Value) {
    $Value = htmlentities($Value); //NDLR: c'est FONDAMENTAL !!!!!!
    $Value = CrLfToBR($Value);
    $Value = SmileyReplacement($Value);
    $Value = Linking($Value);
    $Value = HtmlReplacement($Value);
    return $Value;
  }
?>


Pour appliquer les styles, tu utilises la fonction Display($Value);

Le comble c'est qu'il y a transformation des URL via [link] et [/link].

Je te redirai tout ça si ceci ne marche pas...

=============
Validez les réponses si ok...

ViewVite : HTML

lundi 27 juin 2005 à 14:00:59 | Re : grosse question d'un débutant =P

malalam

Administrateur CodeS-SourceS
Hello,

ca ne va pas etre tres tres aux normes ca... ;-)
Anfin, pas xhtml en tous cas.
Pourquoi ne pas utiliser des span plutot ?
Ca a plein d'avantage : c aux normes, tu peux utiliser des styles, et tu peux imbriquer autant de span que tu veux, et les fermer dans n'importe quel ordre, ca restera valide :-)
Le seul truc a verifier, c'est d'avoir autant de span ouverts que de span fermes, c'est tout.

lundi 27 juin 2005 à 21:59:29 | L'astuce est ailleurs

grandvizir

L'astuce c'est de pouvoir faire du formattage HTML en se dispensant des intéractions HTML que l'utilisateur pourrait faire.
  htmlentities + Display => sécurité + html

=============
ViewVite : HTML
mardi 28 juin 2005 à 09:18:06 | Re : grosse question d'un débutant =P

malalam

Administrateur CodeS-SourceS
Oui merci je connais le principe du bbcode lol...ce que je te dis, c'est que :
[red][/red] => <font color="red"></font>
c'est horrible...
Et puis si on oublie le [/red]...
Verifier la fermeture de balises n'est pas tres complique...sauf quand on a des tas de balises differentes. Parcequ'alors vient le probleme de l'imbrication :
[b][red][/b][/red]...c'est nettement plus complique a regler, ca.

Alors que :
[b][/b] => <span style="font-weight: bold;"></span>
[red][/red] => <span style="color: red"></span>

Ca simplifie largement la vie...et c'est toujours XHTML compliant.
Si l'utilisateur fait :
[b][red][/b][/red]
Toi ca devient :
<b><font color="red"></b></font>
Ce qui est faux. Au passage, il vaut mieux utiliser <strong> que <b>, mais bon.
Et moi ca devient :
<span style="font-weight: bold;"><span style="color: red"></span></span>
Ce qui dans tous les cas est juste.
mercredi 29 juin 2005 à 05:24:54 | Re : grosse question d'un débutant =P

sidikire

hum.. moi je suis bien heureux de ce qu'il ma donné, je vais bien essayer ^^!!! Merci là, je vais faire un p'tit test bientot =D!!

Sidikire


Cette discussion est classée dans : débutant, question, quelqu, grosse, gras


Répondre à ce message

Sujets en rapport avec ce message

Question de débutant... [ par ReMi34 ] Alors voilà, il y a quelques jours, j'ai décidé de me mettre au PHP, mais problème, je ne sais pas trop ce qu'il faut faire pour avoir sa base de donn Quelqu'un voudrais bien m'aider ? ;) [ par nexum ] Salut,bon premièrement je suis débutant... très débutant... comme j,apprend quand même assez vite, je peux me débrouiller dans le codage PHPmais où j' Bête question de débutant [ par administrateurlinux ] Bonsoir,Que veux dire le \t et le \n dans cette ligne ?$msg = "Nom:\t$nom\n";Oui je sais mais je début... Question de débutant...Redirection d'une page [ par jnbrunet ] Bon, cette question peut semblé idiote pour certain mais je débute...J'ai ajouter un formulaire dans un cadre (menu) et je veux que lorsque le formula Question de débutant [ par CyberMen30 ] Bonjour,J'ai pour mission d'afficher une liste de nom à l'écran et lorsqu'on clique sur ces nom, on est redirigé vers un autre site internet qui s'aff Une grosse base ou plusieurs petite [ par cyberastuces ] Bonjour,Je me poser une question concernant la taille des bases de données mysql, j'ai bcp de requette et d'enregistrement, environs 300 tables pour u [Débutant] 3 question sur de EasyPHP [ par Chatbour ] Salut à tous et à toutes je suis débutant dans php (et débutant veut dire : je viens juste d'installer easy php 2) et j'aimerai vous poser quelques qu authentification [ par dammak ] salutje suis en train de développer un site en PHP et puisque je suis encore débutant je demande si quelqu'un peut m'aiderj'ai fait une page dans le q Débutant [ par CyberMen30 ] Bonjour!Je sais que ma question va vous sembler un peu conne mais bon, je suis débutant en php et un peu beaucoup mélangé lolJe suis en train de faire Question SQL [ par b_medamine ] Bonjour, J'ai un champ dans une table SQL de type varchar. ça dépend de la valeur d'un autre champ, il est soit une chaine de carcatère soit une val


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales