2Danke
ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
650
650
EMPFEHLEN
-
N´Abend.
Wie kann ich in der Funktion str_replace erreichen, dass der String jeweils durch die Nummer der Ersetzung ersetzt wird?
Also bei der ersten Ersetzung
str_replace('pagebreak', '1', $string), dann
str_replace('pagebreak', '2', $string) etc?
Danke schonmal und Gute Nacht.
mfg,
David
-
Vielleicht ist es mit preg_replace_callback machbar aber nicht mit str_replace denn das ersetzt ALLE vorkommen durch die selbe Ersetzung.
Google und die Forensuche beantworten 50% aller Fragen!
Pflichtlektüre: Das PHP Handbuch als Windows Help Datei
Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
[PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]
Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.
-
Hi
versuche doch das mal:
PHP-Code:<?php
error_reporting(E_ALL);
$str = "Ich wohne in einem Haus, Peter wohnt in einem Haus, Klaus wohnt in einem Haus.";
$i = 0;
$pre = "";
do{
$i++;
$pre = $str;
$str = preg_replace("/einem Haus/","Haus".$i,$str,1);
}
while( $pre != $str );
echo $str; // Ich wohne in Haus1, Peter wohnt in Haus2, Klaus wohnt in Haus3
?>Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
"Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
RegEx Tutorial
PHP Funktionsreferenz
-
@timestamp: Ich fürchte das wird nicht funktionieren.
Es macht nur einen Durchgang da du selbst $pre = $str setzt.
Wäre evtl machbar wenn man den String durchsucht und mit der position arbeitet. Also den String am Vorkommen splittet und wieder zusammensetzt.
Oder wie wäre es mit preg_split.
PHP-Code:<?php
$str = 'Ich wohne in einem Haus, Peter wohnt in einem Haus, Klaus wohnt in einem Haus.';
$parts = preg_split('/einem Haus/', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
$str = "";
for($i=0; isset($parts[$i+1]); $i++)
{
$str .= $parts[$i][0]."Haus".($i+1);
}
$str .= $parts[$i][0];
echo $str; // Ich wohne in Haus1, Peter wohnt in Haus2, Klaus wohnt in Haus3
?>Geändert von Da_Chris (15.05.10 um 17:02 Uhr)
Google und die Forensuche beantworten 50% aller Fragen!
Pflichtlektüre: Das PHP Handbuch als Windows Help Datei
Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
[PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]
Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.
-
Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
"Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
RegEx Tutorial
PHP Funktionsreferenz
-
Sehr eigenartig es geht tatsächlich.
Aber warum?
Rein vom logischen Ablauf müsste er beim ersten Durchlauf wieder raus gehen.
Da wäre eine Erklärung interessant.Google und die Forensuche beantworten 50% aller Fragen!
Pflichtlektüre: Das PHP Handbuch als Windows Help Datei
Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
[PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]
Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.
-
Hi
eine sehr einfache Antwort gibt dir diese leichte Modifizierung
Das liefer nämlich:PHP-Code:<?php
error_reporting(E_ALL);
$str = "Ich wohne in einem Haus, Peter wohnt in einem Haus, Klaus wohnt in einem Haus.";
$i = 0;
$pre = "";
do{
$i++;
$pre = $str;
$str = preg_replace("/einem Haus/",'Haus'.$i.'',$str,1);
echo "PRE: ".$pre."<br />";
echo "STR: ".$str."<br />";
echo "<br />";
}
while( $pre != $str );
echo $str;
?>
Code :1 2 3 4 5 6 7 8 9 10 11
PRE: Ich wohne in einem Haus, Peter wohnt in einem Haus, Klaus wohnt in einem Haus. STR: Ich wohne in Haus1, Peter wohnt in einem Haus, Klaus wohnt in einem Haus. PRE: Ich wohne in Haus1, Peter wohnt in einem Haus, Klaus wohnt in einem Haus. STR: Ich wohne in Haus1, Peter wohnt in Haus2, Klaus wohnt in einem Haus. PRE: Ich wohne in Haus1, Peter wohnt in Haus2, Klaus wohnt in einem Haus. STR: Ich wohne in Haus1, Peter wohnt in Haus2, Klaus wohnt in Haus3. PRE: Ich wohne in Haus1, Peter wohnt in Haus2, Klaus wohnt in Haus3. STR: Ich wohne in Haus1, Peter wohnt in Haus2, Klaus wohnt in Haus3.
Jetzt kann man eigentlich schon sehen was passiert.
$pre erhält den ursprünglichen Wert von $str. In der nächsten Zeile wird $str dann allerdings der Rückgabewert von preg_replace zugewiesen. So fern etwas ersetzt wurde, unterscheidet sich $pre nun natürlich von $str. Das ganze funkioniert nur, weil $pre _vor_ dem Funktionsaufruf $str zugewiesen bekommt.Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
"Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
RegEx Tutorial
PHP Funktionsreferenz
-
mh doch so is logisch
Google und die Forensuche beantworten 50% aller Fragen!
Pflichtlektüre: Das PHP Handbuch als Windows Help Datei
Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
[PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]
Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.
-
Die Firma dankt,
ich hab es folgendermassen gemacht, aufbauend auf deiner Idee, timestamp
mfg,PHP-Code:$pages = substr_count($text4, 'página string_pagina_page_number')+1;
for ($page_number = 2; $page_number <=$pages; $page_number++)
{
$text5 = preg_replace('/string_pagina_page_number/', $page_number, $text4,1);
$text4 = $text5;
}
David
Ähnliche Themen
-
Formular mit fortlaufender Nummer
Von civicmx im Forum PHPAntworten: 18Letzter Beitrag: 11.01.10, 22:14 -
Access / VBA: Zuweisen nächster fortlaufender Nummer
Von WiZdooM im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 17.04.09, 16:25 -
fortlaufender Zähler in SQL ? (x=x+1 ..)
Von jWaehlt im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 16.11.06, 00:25 -
Array initalisierung mit fortlaufender Nummer
Von echelon im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 2Letzter Beitrag: 04.11.05, 05:42 -
JComboBox mit nicht fortlaufender INDEX-Markierung
Von AlexD1979 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 15.08.03, 22:08





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren