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]

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...