Prüfen, ob Zeichen am Anfang der Zeile steht?

Kalma

Erfahrenes Mitglied
Hey,

gibt es ne Möglichkeit mit Preg_replace und RegExp zu prüfen, ob ein Zeichen am Anfang einer ZEile steht?


// Edit
Es handelt sich um ein Listenparser:
PHP:
			// Liste Suchmuster (UL erstellen, überflüssige UL entfernen)
			$search[]	= "/[^ ]\*(.*?)<br [^>]*>(\n|\r)/";		# Zeichenliste
			$search[]	= "/<\/ul>(\n|\r)<ul>/";				# Überflüssige <UL> Tags entfernen

			// Liste ersetzen
			$replace[]	= "<ul><li>$1</li></ul>";
			$replace[]	= "$1";

Der entfernt nun nur nicht die überflüssigen <UL>
 
Zuletzt bearbeitet:

Sven Mintel

Mitglied
Der Ausdruck für den Zeilenbeginn ist ^
...allerdings nur, wenn die Flag m(Multiline) gesetzt ist....ansonsten steht das Hütchen für den Beginn der Zeichenkette.
 

Kalma

Erfahrenes Mitglied
Hey,

danke für die Antwort :)
Jetzt geht es...


Allerdings, noch eine Frage.
Mein ListenSystem soll auch folgendes können:

* Eintrag 1
* Eintrag 2
** Eintrag in Eintrag 2
** Eintrag in Eintrag 2
* Eintrag 3
Verschachtelte Listen..

Mein Code dafür sieht so aus:
PHP:
$search[]	= "/^\*(.*?)<br [^>]*>(\n|\r)/m";		# Zeichenliste
$search[]	= "/<\/ul>(\n|\r)<ul>/";				# Überflüssige <UL> Tags entfernen
$search[]	= "/\*\*(.*?)<br [^>]*>(\n|\r)/";		# Zeichenliste

// Liste ersetzen
$replace[]	= "<ul><li>$1</li></ul>";
$replace[]	= "$1";
$replace[]	= "<ul><li>$1</li></ul>"

Das sollte doch eigentlich so funktionieren oder?
Weil heraus kommt
1. Eintrag
2. * Eintrag
3. Eintrag
 

Neue Beiträge