Skip to content
Extraits de code Groupes Projets
Valider 8a463d8f rédigé par cerdic's avatar cerdic
Parcourir les fichiers

propager le width de l'image modifiee au span/div/xx englobant qui a la class spip_documents

le width peut venir de l'attribut width='' ou de l'attribut style
parent 06c982aa
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -109,27 +109,28 @@ function image_filtrer($args){ ...@@ -109,27 +109,28 @@ function image_filtrer($args){
// Cas general : trier toutes les images, avec eventuellement leur <span> // Cas general : trier toutes les images, avec eventuellement leur <span>
if (preg_match_all( if (preg_match_all(
',(<(span|div) [^<>]*spip_documents[^<>]*>)?(<img\s.*>),UimsS', ',(<([a-z]+) [^<>]*spip_documents[^<>]*>)?\s*(<img\s.*>),UimsS',
$texte, $tags, PREG_SET_ORDER)) { $texte, $tags, PREG_SET_ORDER)) {
if ($inclure){ if ($inclure){
include_spip('inc/filtres_images'); include_spip('inc/filtres_images');
$inclure = false; $inclure = false;
} }
foreach ($tags as $tag) { foreach ($tags as $tag) {
$class = extraire_attribut($tag[3],'class'); $class = extraire_attribut($tag[3],'class');
if ((!strlen($class)) || (strpos($class,'no_image_filtrer')===FALSE)){ if (!$class || (strpos($class,'no_image_filtrer')===FALSE)){
array_unshift($args,$tag[3]); array_unshift($args,$tag[3]);
if ($reduit = call_user_func_array($filtre, $args)) { if ($reduit = call_user_func_array($filtre, $args)) {
// En cas de span spip_documents, modifier le style=...width: // En cas de span spip_documents, modifier le style=...width:
if($tag[1] if($tag[1]){
AND $w = extraire_attribut($reduit, 'width')) { $w = extraire_attribut($reduit, 'width');
$style = preg_replace(", width: *\d+px,S", " width: ${w}px", if (!$w AND preg_match(",width:\s*(\d+)px,S",extraire_attribut($reduit,'style'),$regs))
extraire_attribut($tag[1], 'style')); $w = $regs[1];
$replace = inserer_attribut($tag[1], 'style', $style); if ($w AND ($style = extraire_attribut($tag[1], 'style'))){
$replace = str_replace(" style=''", '', $replace); $style = preg_replace(",width:\s*\d+px,S", "width:${w}px", $style);
$texte = str_replace($tag[1], $replace, $texte); $replace = inserer_attribut($tag[1], 'style', $style);
$texte = str_replace($tag[1], $replace, $texte);
}
} }
$texte = str_replace($tag[3], $reduit, $texte); $texte = str_replace($tag[3], $reduit, $texte);
} }
array_shift($args); array_shift($args);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter