Mein preg_replace(); läuft nicht

Kalma

Erfahrenes Mitglied
Hallo,

einige erinnern sich bestimmt an mein BBCode Problem.

Ich habe dort wieder ein Problem...

Ich gebe folgenden Text ein:
Code:
'''Hallo''',

eigentlich ''sollten'' die BBCodes jetzt gehen....

''David''

Und heraus kommt
Hallo,

eigentlich sollten'' die BBCodes jetzt gehen....

''David

Mein PHP Code sieht folgender Maßen aus:
PHP:
		$search[] = "/'''(.*)'''/"; //Dicker Text: 3 ' Striche
		$search[] = "/''(.*)''/"; //Kursiver Text: 2 ' Striche

		$replace[] = '<strong>$1</strong>';
		$replace[] = '<em>$1</em>';

		// Ersetzen
		@$data = preg_replace($search, $replace, $text);

Woran liegt das?
 
Ich habe noch eine Frage zu undefined offset:

PHP:
	function bbcode_liste($text)
	{
		$n					= "\n";
		$naechste_zeile		= '';
		$letzteZeileStar	= -1;
		$letzteZeileRaute	= -1;
		$arr				= explode("\n", $text);
		$imp				= array();

		for($c=0; $c<(count($arr)); $c++) 
		{
			$naechste_zeile = $arr[($c + 1)];

			if(substr($arr[$c], 0, 1) == '*') {
				if($letzteZeileStar == ($c - 1)) {
					if(substr($naechste_zeile, 0, 1) != '*') {
						$imp[$c] = '<li>'.substr($arr[$c], 1, (strlen($arr[$c])) - 1).'</ul>';
					} else {
						$imp[$c] = '<li>'.substr($arr[$c], 1, (strlen($arr[$c])) - 1);
					}
				} else {
					if(substr($naechste_zeile, 0, 1) != '*') {
						$imp[$c] = '<ul><li>'.substr($arr[$c], 1, (strlen($arr[$c])) - 1).'</ul>';
					} else {
						$imp[$c] = '<ul><li>'.substr($arr[$c], 1, (strlen($arr[$c])) - 1);
					}
				}
				$letzteZeileStar = $c;
			} elseif(substr($arr[$c], 0, 1) == '#') {
				if($letzteZeileRaute == ($c - 1)) {
					if(substr($naechste_zeile, 0, 1) != '#') {
						$imp[$c] = '<li>'.substr($arr[$c], 1, (strlen($arr[$c])) - 1).'</ol>';
					} else {
						$imp[$c] = '<li>'.substr($arr[$c], 1, (strlen($arr[$c])) - 1);
					}
				} else {
					if(substr($naechste_zeile, 0, 1) != '#') {
						$imp[$c] = '<ol><li>'.substr($arr[$c], 1, (strlen($arr[$c])) - 1).'</ol>';
					} else {
						$imp[$c] = '<ol><li>'.substr($arr[$c], 1, (strlen($arr[$c])) - 1);
					}
				}
				$letzteZeileRaute = $c;
			} else {
				$imp[$c] = $arr[$c].'<br>';
			}
		}
		
	   return implode("", $imp);
	}

Das ist mein BBcode für eine Liste.
Er sagt er hätte undefined offset:

Notice: Undefined offset: 1 in /var/www/global/fmz/include/function/BBcode.fns.php on line 123

Notice: Undefined offset: 1 in /var/www/global/fmz/include/function/BBcode.fns.php on line 123

Notice: Undefined offset: 1 in /var/www/global/fmz/include/function/BBcode.fns.php on line 123

Notice: Undefined offset: 1 in /var/www/global/fmz/include/function/BBcode.fns.php on line 123

Notice: Undefined offset: 1 in /var/www/global/fmz/include/function/BBcode.fns.php on line 123

Zeile 123 wäre die erste Zeile direkt in der For Schleife.
Wovon kann das kommen?
 
Zurück