WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » preg_replace (problem für profis) » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von subjective
Deine Treffer umfassen halt auch diese beiden Zeichen (eines am Anfang und eines am Ende). Dies ist in der RegEX so definiert worden. Du kannst nun entweder die RegEx so umstellen, dass sie diese beide Zeichen gar nicht mehr trifft oder die beiden Zeichen in Gruppierungen (Subpatterns) legen lassen und beim Ersetzen diese wieder einfügen.
von languitar
Hm, was willst du mit der Funktion überhaupt bewirken? Vielleicht lässt sich das Problem ja mit einem anderen Ansatz eifnach umgehen.
von Paulaner
Hallo leutz,

bin neu hier und hoffe sehr, dass es hier jemand gibt, der mir helfen kann.

mein problem: mein code schneidet 2 buchstaben ab, warum?

mein code:




1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11:
$text="so bla bla [-][-][ueberschrift]Hallo[/ueberschrift][-][-]Dies ist nun der Text[-] so ein schöner Text";

function zeilen($match) 
	{
		$vorne = str_replace("[-]", "", $match[1]);
		$hinten = str_replace("[-]", "", $match[3]);
		$mei = $vorne."[ueberschrift]".$match[2]."[/ueberschrift]".$hinten;
		return $mei;
	}
	$text = preg_replace_callback("|[a-zA-Z0-9](.*)\[ueberschrift\]
(.*)\[\/ueberschrift\](.*)[A-Za-z0-9]|isU","zeilen", $text);


die ausgabe:
1: 
2:
o bla bla [ueberschrift]Hallo[/ueberschrift]ies ist nun der Text[-] so
 ein schöner Text


meine Frage, warum wird das S und das D abgeschnitten?
Ziel des Codes ist es alle [-] rund um die [ueberschrift] wegzuschneiden, die im text aber stehen zu lassen.

bitte helft mir!

Nach oben