AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Eintrag aus String herauslöschen
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Eintrag aus String herauslöschen

Ein Thema von Yheeky · begonnen am 19. Mai 2008 · letzter Beitrag vom 19. Mai 2008
Antwort Antwort
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

[PHP] Eintrag aus String herauslöschen

  Alt 19. Mai 2008, 22:37
Hi,

schon wieder eine PHP-Frage

Ich habe einen String, den ich mit Kommata abtrenne.

Code:
Max,Bernd,Tina,Mario
Ich möchte mir nun eine Funktion schreiben, der ich einen Text übergebe (z.B. delItem("Tina")) und der, den Eintrag aus dem String löscht.

Problem ist hier, dass die Kommata ja mitgelöscht werden müssen und ich nicht weiss, ob das Komma vor, hinter oder vor und hinter dem Namen steht.
Habe so meine Probleme mit den Funktionen str_replace und strpos.

Wäre super, wenn mir jemand helfen könnte.

Danke schonmal!
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: [PHP] Eintrag aus String herauslöschen

  Alt 19. Mai 2008, 22:41
Wir wäre es, den Namen zu löschen und danach alle Doppelkommas durch Einfachkommas zu ersetzen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: [PHP] Eintrag aus String herauslöschen

  Alt 19. Mai 2008, 22:42
Am Besten String mit Explode() in einen Array wandeln, Array um Eintrag bereinigen, mit Implode() zurück in String wandeln
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: [PHP] Eintrag aus String herauslöschen

  Alt 19. Mai 2008, 22:44
Oder sowas:

Code:
function delItem($source, $item) {
  if (!substr($source, -1) != ',') {
    $source .= ',';

  return str_replace($item . ',', '', $source);
}
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: [PHP] Eintrag aus String herauslöschen

  Alt 19. Mai 2008, 22:44
Das ist natürlich noch besser
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: [PHP] Eintrag aus String herauslöschen

  Alt 19. Mai 2008, 22:47
Zitat von mkinzler:
Das ist natürlich noch besser
Muss nicht unbedingt sein. Der Aufbau seines Strings riecht auch danach, dass man es mir einem Array machen könnte. Da wäre unset das Stichwort zum Entfernen.
  Mit Zitat antworten Zitat
Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#7

Re: [PHP] Eintrag aus String herauslöschen

  Alt 19. Mai 2008, 23:47
Super! Danke für die Tipps! Explode und Implode waren die perfekten Stichworte. So habe ich es nun gelöst:

Code:
function deleteItem($text, $item)
{
   // Erstelle ein Array anhand dem Trennzeichen "," und dem Text $text
   $array = explode (',', $text);
   
   // Sucht $item im Array
   for ( $x = 0; $x < count ( $array ); $x++ )
   {
      // Wenn item gefunden wurde, dann ihn mit "unset" aus dem Array löschen
      if ($array[$x] == $item)
      unset($array[$x]);
   }
   
   // Den String mit dem Trennzeichen "," erstellen und zurückgeben
   return implode (',', $array);
}
Danke nochmal und gute Nacht!
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: [PHP] Eintrag aus String herauslöschen

  Alt 19. Mai 2008, 23:48
Kannst Du die Sachen nicht gleich als Array behandeln?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz