php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.04.2005, 07:35  
Erfahrener Benutzer
 
Registriert seit: 27.11.2004
Beiträge: 151
janni
Standard unbekannten teilstring mit anfang/end-markierung ersetzen

ich möchte gerne einen teil eines strings ersetzen.

nun gut, ich weiss das es mit

$string = str_replace("alt", "neu", $string);

geht.

was ist aber, wenn ich den inhalt nicht kenne und nur eine start und endmarkierung vorhanden ist!

text<marker>text texte text</marker>text text text

ich möchte den unbekannten text zwischen <marker> und </marker> durch einen anderen string ersetzen.

ich weiss jedoch nicht wie ????
janni ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.04.2005, 08:25  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Guckst Du hier:
http://de.php.net/preg_replace

Start- und Ende-Markierung müssen dabei im Suchmuster und im Ersetzungsmuster enthalten sein, wenn nur der Teil dazwischen ausgetauscht werden soll.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 29.04.2005, 08:27  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php
$string 
preg_replace('|^(.*<marker>).*(</marker>.*)$|'"$1$neu$2"$string);
?>
__________________
Gruss
L
lazydog ist offline  
Alt 29.04.2005, 09:54  
Erfahrener Benutzer
 
Registriert seit: 27.11.2004
Beiträge: 151
janni
Standard funktioniert ... aber...doch nicht

Zitat:
Zitat von lazydog
PHP-Code:
<?php
$string 
preg_replace('|^(.*<marker>).*(</marker>.*)$|'"$1$neu$2"$string);
?>

der code funktioniert. nur habe ich als markernamen immer verschiedene namen mit id-nummern.

ich habe nun statt <marker> $marker1 und statt </marker> $marker2 eingesetzt und nichts funktioniert mehr.

wie kann ich dort ein string als marker unterbringen???
janni ist offline  
Alt 29.04.2005, 09:58  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

'.$marker1.'

zwischen ' werden variablen nicht geparst.

mfg
robo47
robo47 ist offline  
Alt 29.04.2005, 10:27  
Erfahrener Benutzer
 
Registriert seit: 27.11.2004
Beiträge: 151
janni
Standard

ja und wie mache ich das jetzt ???

ich möchte im grunde nur bestimmte datensätze durch neue daten ersetzen, gibt es vieleicht eine andere lösung?

die start- und endmarkierungen sind mit nummern versehen, um sie zu finden:

<datensatz120>daten</datensatz120>
<datensatz121>datenersatz</datensatz121>
janni ist offline  
Alt 29.04.2005, 10:36  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

PHP-Code:
<?php
<?php
$string 
preg_replace('|^(.*<.$marker1.' >).*(</.$marker1.' >.*)$|'"$1$neu$2"$string);
?> 

?>
so war das gemeint
robo47 ist offline  
Alt 29.04.2005, 11:17  
Erfahrener Benutzer
 
Registriert seit: 27.11.2004
Beiträge: 151
janni
Standard ist wohl noch nen fehler drin

Zitat:
Zitat von robo47
PHP-Code:
<?php
<?php
$string 
preg_replace('|^(.*<.$marker1.' >).*(</.$marker1.' >.*)$|'"$1$neu$2"$string);
?> 

?>
so war das gemeint
funktioniert noch nicht, gibt fehlermeldungen, sieht man auch an den unterschiedlichen farben von $marker1 und $marker1 ...hmmm...keine ahnung....
janni ist offline  
Alt 29.04.2005, 11:25  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

sorry, vertippt, aber solltest du doch alleine schaffen odeR?
so müsste es stimmen:
PHP-Code:
<?php

<?php
$string 
preg_replace('|^(.*<'.$marker1.' >).*(</'.$marker1.' >.*)$|'"$1$neu$2"$string);
?> 
?>
robo47 ist offline  
Alt 29.04.2005, 11:44  
Erfahrener Benutzer
 
Registriert seit: 27.11.2004
Beiträge: 151
janni
Standard

Zitat:
Zitat von robo47
sorry, vertippt, aber solltest du doch alleine schaffen odeR?
so müsste es stimmen:
PHP-Code:
<?php

<?php
$string 
preg_replace('|^(.*<'.$marker1.' >).*(</'.$marker1.' >.*)$|'"$1$neu$2"$string);
?> 
?>
jo, eine fehlermeldung kommt nicht mehr, nur ersetzen tuts auch nichts. Hier mein test script:

<?php
$string = "Das <marker123>rote</marker123> Auto ist kaputt.";
$neu = "blaue";
$marker1 = "marker123";
$string = preg_replace('|^(.*<'.$marker1.' >).*(</'.$marker1.' >.*)$|', "$1$neu$2", $string);
echo $string;
?>

das auto bleibt einfach rot !!!!

ich möchte es einfach nur blau haben !!!!
janni ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
unbekannten String ersetzen PHP Tipps 2005-2 7 27.10.2005 11:13
Teilstring ersetzen PHP Tipps 2005-2 5 21.06.2005 15:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php teilstring ersetzen, php marker ersetzen, endmarkierung kann nicht gelesen werden, \endmarkierung kann nicht gelesen werden\, endmarkierung, preg_replace unbekannte zeichenkette, marker suchen und ersetzen php, unbekannten teil ersetzen php, php preg_replace marker, teilstring ersetzen php, preg_replace marker, php replace marker ersetzen, php string am ende ersetzen, php in txt nach unbekannten string, php \'\ am anfang des strings\', str_replace unbekannte zeichenfolge ersetzen php, unbekannten string im string finden php, von anfang bis ende ersetzen php, php ersetzen anfang ende, php teilstring im string von bis ersetzen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:21 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.