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

Dynamisches str_replace

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
sddfg
PostRank 1
PostRank 1
Beiträge: 5
Registriert: 19.05.2007, 08:40

Beitrag von sddfg » 19.06.2007, 15:33

Sorry für den komischen Titel, aber mir ist kein besserer eingefallen. Folgendes Problem:

Ich habe einen String in dem ich einen bestimmten Platzhalter ersetzten möchte. Dabei wird eine Zahl an das neue Wort angefügt, allerdings wird diese bei jedem auftreten um 1 ehöht. Folgendes habe ich ausprobiert:

Code: Alles auswählen

<?php
$content = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, &#91;code&#93;sed diam voluptua&#91;/code&#93;. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

Duis autem vel eum &#91;code&#93;iriure dolor in hendrerit in&#91;/code&#93; vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait &#91;code&#93;nulla facilisi. Lorem ipsum dolor sit amet, con&#91;/code&#93;sectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.';

$i = 0;
echo str_replace&#40;array&#40;'&#91;code&#93;', '&#91;/code&#93;'&#41;, array&#40;'<code id="' .$i++ . '">', '</code>'&#41;, $content&#41;;
?>
Allerdings funktioniert dass ganze nicht: Der Tag Code bekommt jedes Mal die ID 0! Hat vielleicht jemand ne Idee dazu?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

magadoo
PostRank 5
PostRank 5
Beiträge: 257
Registriert: 02.11.2004, 14:14

Beitrag von magadoo » 19.06.2007, 20:39

Probier mal folgenden Code:

Code: Alles auswählen

$i=0;
echo preg_replace&#40;'/\&#91;code\&#93;&#40;&#91;^\&#91;&#93;+&#41;\&#91;\/code\&#93;/ie','"<code id=".&#40;$i++&#41;.">$1</code>"',$content&#41;;

sddfg
PostRank 1
PostRank 1
Beiträge: 5
Registriert: 19.05.2007, 08:40

Beitrag von sddfg » 19.06.2007, 21:20

Hmm, klappt noch nicht so ganz. Wenn in dem Code eine Variable enthalten ist, dann gibt es eine Fehlermeldung, aber wenn ich den Modifikator /e rausnehme funktioniert es nicht mehr..

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.


auftragslinker
PostRank 7
PostRank 7
Beiträge: 525
Registriert: 21.04.2005, 14:36

Beitrag von auftragslinker » 20.06.2007, 07:14

$i=0;
while (strpos($content,"

Code: Alles auswählen

")) {
  echo str_replace(array('&#91;code&#93;', '&#91;/code&#93;'), array('<code id="' .$i . '">', '</code>'), $content); 
  $i++;
}


???
Zuletzt geändert von auftragslinker am 20.06.2007, 10:05, insgesamt 1-mal geändert.

alpening
PostRank 4
PostRank 4
Beiträge: 110
Registriert: 07.12.2005, 14:30
Wohnort: Miesbach

Beitrag von alpening » 20.06.2007, 07:34

so viel wie ich weiß kannst du eine variable nur in einer schleife oder als aufrufe einer funktion aufaddieren.

magadoo
PostRank 5
PostRank 5
Beiträge: 257
Registriert: 02.11.2004, 14:14

Beitrag von magadoo » 20.06.2007, 13:03

alpening hat geschrieben:so viel wie ich weiß kannst du eine variable nur in einer schleife oder als aufrufe einer funktion aufaddieren.
Naja das Addieren hat bei meinem Code schon geklappt, nur an der RegExp muss man wohl noch etwas schrauben.

sddfg
PostRank 1
PostRank 1
Beiträge: 5
Registriert: 19.05.2007, 08:40

Beitrag von sddfg » 21.06.2007, 15:03

Nunja, mit einer Schleife habe ich es jetzt auch hinbekommen. Nur ist halt die Frage was performanter ist. Ein Regulärer Ausdruck oder eine Schleife ..

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag