Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

PHP: String-Liste ausgeben (ereg_replace?)

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
webpilot
PostRank 6
PostRank 6
Beiträge: 417
Registriert: 24.03.2007, 17:03

Beitrag von webpilot » 24.02.2009, 11:01

Ich bin Anfänger in Sachen PHP und brauche etwas Hilfe.

Ich möchte ein kleines Script schreiben, welches mir aus einem String bzw. mehreren Strings eine fortlaufende nummerische Serie genereiert...irgendwie blöd zu erklären. ;)

Hier ein Beispiel:

Ich gebe folgende Strings vor:

name-*-abc-sonstwas
name-*-123-sonstwas
name-*-xyz-sonstwas

Nun soll mir das Script anstelle des * eine fortlaufende Nummer einsetzen und diese ausgeben.

Ergebnis:

name-1-abc-sonstwas
name-2-abc-sonstwas
name-3-abc-sonstwas
name-4-abc-sonstwas
...
name-1-123-sonstwas
name-2-123-sonstwas
name-3-123-sonstwas
name-4-123-sonstwas
...
name-1-xyz-sonstwas
name-2-xyz-sonstwas
name-3-xyz-sonstwas
name-4-xyz-sonstwas
...

Dabei möchte ich die maximalen Durchläufe angeben könne und auch, ob eine Null vorneweg folgen soll oder nicht.

Ich weiss dass man dafür eine for-Schleife und irgendwie auch "ereg_replace" benötigt. Wie ich das allerdings zusammenfüge, weiss ich nicht. Von regulären Ausdrücken verstehe ich ebenfalls nur Bahnhof.

Kann wer helfen?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


nerd
PostRank 10
PostRank 10
Beiträge: 4023
Registriert: 15.02.2005, 04:02

Beitrag von nerd » 24.02.2009, 11:26

explode zum auseinandernehmen, zusammenfuegen mit <? $string1."-".$numer."-".$string2."-".$string3 ?>- oder implode wenn du deine nummer ins array schiebst

webpilot
PostRank 6
PostRank 6
Beiträge: 417
Registriert: 24.03.2007, 17:03

Beitrag von webpilot » 24.02.2009, 12:02

Hi nerd

Danke für den Hinweis zu implode.

Also ich habe nun folgendes gebastelt:

Code: Alles auswählen

<?php
$liste = 'name-*-abc-sonstwas';
$part  = explode&#40;'*',$liste&#41;;
	// Zähler
    $count = 1;
    $end   = 5;
    while&#40;$count <= $end&#41; &#123;
    	echo $part&#91;0&#93;.$count.$part&#91;1&#93;.'<br />';
    $count++;
    &#125;
?>
Das funktioniert soweit. Mir ist allerdings nicht ganz klar, wie ich das nun mit einem array machen kann. Ich habe versucht folgendes...

Code: Alles auswählen

$liste = 'name-*-abc-sonstwas';
...mit diesem zu ersetzen:

Code: Alles auswählen

$liste = array&#40;'name-*-abc-sonstwas', 'name-*-123-sonstwas', 'name-*-xyz-sonstwas'&#41;;
Das geht so aber nicht. :-?

webpilot
PostRank 6
PostRank 6
Beiträge: 417
Registriert: 24.03.2007, 17:03

Beitrag von webpilot » 24.02.2009, 12:07

Code: Alles auswählen

<?php
$liste = array&#40;'name-*-abc-sonstwas', 'name-*-123-sonstwas', 'name-*-xyz-sonstwas'&#41;;
foreach &#40;$liste as $liste&#41; &#123;

    $part  = explode&#40;'*',$liste&#41;;
    
    // Zähler
    $count = 1;
    $end   = 5;
    while&#40;$count <= $end&#41; &#123;
        echo $part&#91;0&#93;.$count.$part&#91;1&#93;.'<br />';
    $count++;
    &#125;
&#125;
?>
:D :D :D

huah
PostRank 6
PostRank 6
Beiträge: 429
Registriert: 19.04.2007, 21:56

Beitrag von huah » 24.02.2009, 20:05

Ich habe mir jetzt den restlichen Code nicht angeschaut, aber wenn Du ein Array in sich selbst auflösen willst, kann es nicht funktionieren ;-)
foreach ($liste as $teil) {

$part = explode('*',$teil);

webpilot
PostRank 6
PostRank 6
Beiträge: 417
Registriert: 24.03.2007, 17:03

Beitrag von webpilot » 24.02.2009, 20:08

Hmmm, seltsam. Ich wusste nicht, dass diesw nicht geht, jedoch hat der Code, so wie er oben steht, prima funktioniert. Die Wege der Programmierung sind unergründlich... :D

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag