Zum Inhalt springen

[PHP] teil eines string auslesen


Empfohlene Beiträge


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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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