Filtre chaine caractère pour classe FPDF
Fermé
zoubila44
Messages postés
110
Date d'inscription
lundi 3 février 2014
Statut
Membre
Dernière intervention
24 juillet 2015
-
Modifié par zoubila44 le 22/05/2015 à 10:49
zoubila44 Messages postés 110 Date d'inscription lundi 3 février 2014 Statut Membre Dernière intervention 24 juillet 2015 - 22 mai 2015 à 15:45
zoubila44 Messages postés 110 Date d'inscription lundi 3 février 2014 Statut Membre Dernière intervention 24 juillet 2015 - 22 mai 2015 à 15:45
A voir également:
- Filtre chaine caractère pour classe FPDF
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
2 réponses
VlkPr3s
Messages postés
235
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
27 juin 2016
130
22 mai 2015 à 11:50
22 mai 2015 à 11:50
Salut, sans trop t'en dire car à mon avis tu as mal cherché, va voir du coté de explode.
Cette fonction permet de rechercher une occurence dans une chaine et de la renvoyé en tant que tableau.
Cette fonction permet de rechercher une occurence dans une chaine et de la renvoyé en tant que tableau.
zoubila44
Messages postés
110
Date d'inscription
lundi 3 février 2014
Statut
Membre
Dernière intervention
24 juillet 2015
6
22 mai 2015 à 12:58
22 mai 2015 à 12:58
require('FPDF/fpdf.php');
$chaine="Salut tout le monde, je vais vous montrer les images de guitare et de basse tout d'abord voici la <span>guitare</span> <img src='images/guitare.png' width='510' height='45'/> ensuite va venir la <span> basse </span> <img src='images/basse.jpg' width='150' height='41' />, à toi de joué";
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Helvetica','B',16);
$pdf->SetFillColor(6,211,248);
$pdf->SetTextColor(243,11,180);
$pdf->Cell(0,10,'INSTRUMENTS',1,1,'C',TRUE);
$pdf->Ln(10);
$pdf->SetFillColor(20,150,50);
$pdf->SetTextColor(255,255,255);
$pdf->Cell(0,10,filtreQuest($chaine),0,1,'L',TRUE);
$pdf->Ln(40);
$pdf->MultiCell(0,10,$chaine,1,1,'L',FALSE);
$pdf->Output();
function filtreQuest($chaine){
$chaine=str_replace('<span>', '', $chaine);
$chaine=str_replace('</span>', '', $chaine);
if(strpos($chaine, '<img')){
$chaine=str_replace('<', '|', $chaine);
$chaine=str_replace('/>', '|', $chaine);
$tab=explode('|', $chaine);
foreach ($tab as $key => $value) {
if (strpos($value, 'img ')===0) {
$text[$key]=f_get_info_image($value);
} else{
$text[$key]=$value;
}
}
}
return $text;
}
var_dump(filtreQuest($chaine));
function f_get_info_image($imgBalise){
$res=array('src'=>'','height'=>'', 'width'=>'');
$imgBalise = str_replace('"', '|', $imgBalise);
$imgBalise = str_replace("'", '|', $imgBalise);
$pos_src=strpos($imgBalise, 'src=|');
if($pos_src===false){}else{
$endPosSrc=strpos($imgBalise, "|",$pos_src+5);
$res["src"]=substr($imgBalise, $pos_src+5, $endPosSrc-($pos_src+5));
}
$pos_h=strpos($imgBalise, 'height=|');
if($pos_h===false){}else{
$endPosH=strpos($imgBalise, "|",$pos_h+8);
$res["height"]=substr($imgBalise, $pos_h+8, $endPosH-($pos_h+8));
}
$pos_w=strpos($imgBalise, 'width=|');
if($pos_w===false){}else{
$endPosW=strpos($imgBalise, "|",$pos_w+7);
$res["width"]=substr($imgBalise, $pos_w+7, $endPosW-($pos_w+7));
}
return $res;
}
voici mon code a jour je me suis planté et du coup oui j'utilise explode
Mon souci est plus au niveau de l'affichage dans le pdf :s la reutilisation des données ...
Voici le vardump que j'obtient:
array (size=5)
0 => string 'Salut tout le monde, je vais vous montrer les images de guitare et de basse tout d'abord voici la guitare ' (length=106)
1 =>
array (size=3)
'src' => string 'images/guitare.png' (length=18)
'height' => string '45' (length=2)
'width' => string '510' (length=3)
2 => string ' ensuite va venir la basse ' (length=29)
3 =>
array (size=3)
'src' => string 'images/basse.jpg' (length=16)
'height' => string '41' (length=2)
'width' => string '150' (length=3)
4 => string ', à toi de joué' (length=28)
VlkPr3s
Messages postés
235
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
27 juin 2016
130
22 mai 2015 à 13:05
22 mai 2015 à 13:05
tu as besoin des propriétés height et width à savoir les éléments 1 et 3
tu peux refaire un explode de ses arguments
$tab = explode ("width",tableau[1]);
tu peux refaire un explode de ses arguments
$tab = explode ("width",tableau[1]);
zoubila44
Messages postés
110
Date d'inscription
lundi 3 février 2014
Statut
Membre
Dernière intervention
24 juillet 2015
6
22 mai 2015 à 14:14
22 mai 2015 à 14:14
je n'ai pas trop compris car je récupère un tableau avec source | width | height
pourrais tu m'en dire plus ?
pourrais tu m'en dire plus ?
VlkPr3s
Messages postés
235
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
27 juin 2016
130
>
zoubila44
Messages postés
110
Date d'inscription
lundi 3 février 2014
Statut
Membre
Dernière intervention
24 juillet 2015
22 mai 2015 à 14:15
22 mai 2015 à 14:15
ton index 3 vaut une chaine regroupant les info donc tu as besoin ainsi que le 1 non ?
zoubila44
Messages postés
110
Date d'inscription
lundi 3 février 2014
Statut
Membre
Dernière intervention
24 juillet 2015
6
22 mai 2015 à 14:17
22 mai 2015 à 14:17
au niveau de l'index 1 et 3 ce sont des array(src,height,width)
VlkPr3s
Messages postés
235
Date d'inscription
vendredi 30 mai 2014
Statut
Membre
Dernière intervention
27 juin 2016
130
22 mai 2015 à 14:33
22 mai 2015 à 14:33
oui et ? logique ...
Tu reprends ses arraylist afin de récupérer la partie qu'il te faut et tu affiches le résultat de l'array dans un echo index [1] ou alors
$variableAfficher = index[1];
Tu reprends ses arraylist afin de récupérer la partie qu'il te faut et tu affiches le résultat de l'array dans un echo index [1] ou alors
$variableAfficher = index[1];