Convertion html > xhtml

Signaler
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
Bonjour,

Je cherche à recuperer les atributs des balises html, pour les ajouter dans un atribut style=""

=>

mais pas les attributs comme src="". Qqun pourait-il m'aider ?






function str($txt) {

$a['simple'] = array('b', 'u', 'i', 'center');

$b['simple'] = array('strong', 'u', 'em', 'center');

$a['double'] = array('font');

$b['double'] = array('span');

$c = array('br', 'hr', 'img');

$b_s_fin = "

8 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Salut,



et lol...tu veux qu'on te fasse ton script de conversion automatique, quoi!
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Oups, tout n'est pas venu ! Non, j'en est fait une grande partie. Je crois qu'il s'ajit juste d'une regex !

<?php



function str($txt) {

$a['simple'] = array('b', 'u', 'i', 'center');

$b['simple'] = array('strong', 'u', 'em', 'center');

$a['double'] = array('font');

$b['double'] = array('span');

$c = array('br', 'hr', 'img');

$b_s_fin = "<style>";

for( $i=0 ; $i<count($a['simple']) ; $i++ ) {


$txt = str_replace("<" . $a['simple'][$i] .
">", "<" . $b['simple'][$i] . ">", $txt);


$txt = str_replace("[" . $a['simple'][$i] . "]",
"<" . $b['simple'][$i] . ">", $txt);


$txt = str_replace("</" . $a['simple'][$i] .
">", "</" . $b['simple'][$i] . ">", $txt);


$txt = str_replace("[/" . $a['simple'][$i] . "]",
"</" . $b['simple'][$i] . ">", $txt);

$b_s_fin .= "<" . $b['simple'][$i] . ">";

}

for( $i=0 ; $i<count($a['double']) ; $i++ ) {


$txt = preg_replace("<" . $a['double'][$i] .
$sep_d .">", "<" . $b['double'][$i] . " style="" . $fin . ""
>", $txt);


$txt = preg_replace("</" . $a['double'][$i] .
">", "</" . $b['double'][$i] . ">", $txt);


$txt = preg_replace("[" . $a['double'][$i] . $sep_d
. "]", "<" . $b['double'][$i] . ">", $txt);


$txt = preg_replace("[/" . $a['double'][$i] . "]",
"<" . $b['double'][$i] . ">", $txt);

$b_s_fin .= "<" . $b['double'][$i] . ">";

}

for( $i=0 ; $i<count($c) ; $i++ ) {

$txt = str_replace("<" . $c[$i] . ">", "<" . $c[$i] . " />", $txt);

$txt = str_replace("[" . $c[$i] . "]", "<" . $c[$i] . " />", $txt);

}



$txt = strip_tags($txt, $b_s_fin);



return $txt;

}



?>
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Oki, ben qu'est ce qui te manque alors ? Je veux dire, t'as l'air sur la bonne voie non ? Il y a un probleme ?
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Oui, mais je cherche comment faire pour recuperer les attributs :
color="", size="", border="" ... et les mettres dans l'attibut
style="color: ; size: ; border: ; ...".
Messages postés
20
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
11 janvier 2006

$mask = "#([a-zA-Z0-1\-_]+)=(('|")|)(.*?)(?(3)([file://\\3 \\3])|( |>))#si";

ce masque te conviendrait-il ?
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Lu,

Je fais ca : $var = '`([A-Za-z])="(.[^"]*)"`';

Et je convertis avant les ' en ".

Et je vois que tu fais [A-Za-z0-1\-_] Euh je ne vois pas vraiment ou il y a des _ dans les attuibuts html, et idem pour les -.

Et c'est bon, entre temps j'ai fais un beau petit script

Si j'ai le temps, je mettrai sur le site


<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
Messages postés
20
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
11 janvier 2006

les _ et les -, par exemple
dans balises META :
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
(http-equiv)

sachant que ton masque ne gère pas les quotes, (car certaines personnes les utilisent) ni le fait de ne pas avoir mis les guillemets :p

PS pour les quotes, imagine que le gars écrit dans un attribut title="J'aime le php"
ton script va convertir ta quote en guillemet et ta valeur du 2nd arg sera J et non J'aime le sport :p
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Re,

Ah ... Mais en tout ca, le script que je me suis fait fonctionne a merveille,

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !