Zum Inhalt springen

Empfohlene Beiträge

Geschrieben


//setze i auf 0
$i = 0;
//gehe gesamten string durch
while($i == '0') {

//definiere zeichen1
$zeichen1 = '{';
//definiere zeichen2
$zeichen2 = '}';

//hole position von $zeichen1
$pos1 = strpos($inhalt, $zeichen1);

if($pos1 == '' OR empty($pos1)) {

//setze i auf 1 wenn keine position mehr gefunden wurde und beende while
$i = 1;

}//if ende
else {

//schneide alles ab bis $pos1 (postion1)
$inhalt_sub = substr($inhalt, $pos1);

//hole pos von $zeichen2 (position2)
$pos2 = strpos($inhalt_sub, $zeichen2);

//schneide alles ab von postion 0 bis ziechen position2 + 1
$inhalt_sub2 = substr($inhalt_sub,0 , $pos2+1);

//schreibe nun von zeichen 0 pis position + 1 in array
$bild_arr[] = $inhalt_sub2;

//ersetze gesamten string mit ''
$inhalt = str_replace($inhalt_sub2, '', $inhalt);

}//ende else

}//while ende
[/PHP]

$inhalt wird mit dem string gefüllt welcher inhalte enthält wie {hallo} oder {blablabla} diese strings werden nun im array $bild_arr gespeichert und können in einer erneuten schleife ersetzt werden oder sonst was werden

mein zweck hat es erfüllt: meine stringketten sahen ca so aus: {5,0,1}

das sollte ein bild ergeben

die erste 5 steht für das bild mit der id 5 welches ich aus der db hole.

die 0 für den rahmen oder keinen und die 1 für die größe des bilder groß für 1 und 0 für n thumbnail

vielleicht hätte man es auch einfacher lösen können,... aber der pro bin ich ja nicht

Geschrieben

Mit regulären Ausdrücken hätte es so aussehen können:


<?php
$strTmp = 'das ist ein {5,0,1} test {5,0,0} zum ersetzen von bildern';

$arrReplace = array();
if (preg_match_all('/{([0-9]+),([01]),([01])}/s',$strTmp,$arrPregRes) > 0) {
if (is_Array($arrPregRes) && is_Array($arrPregRes[0])) {
foreach ($arrPregRes[0] as $key=>$val) {
if (is_Array($arrReplace) && !array_key_exists($val,$arrReplace)) {
$intImgId = intval($arrPregRes[1][$key]);
$intBorder = intval($arrPregRes[2][$key]);
$intSize = intval($arrPregRes[3][$key]);
if ($intSize == 1) $strFile = 'bild_mit_id_'.$intImgId.'_gross.jpg';
else $strFile = 'bild_mit_id_'.$intImgId.'_klein.jpg';
$arrReplace[$val] = '<img src="'.$strFile.'" border="'.$intBorder.'">';
}
}
}
}

if (is_Array($arrReplace)) {
foreach ($arrReplace as $key=>$val) {
$strTmp = str_replace($key,$val,$strTmp);
}
}

echo $strTmp;
?>
[/PHP]

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...