Teil eines Strings ersetzen

tomate

Erfahrenes Mitglied
Hallo zusammen,

ich habe folgenden String:
Code:
<p class=\"caption_cut\" style=\"margin:3px 0 0 0; width:90px; border:1px solid #000000;\">Das ist ein zu langer Inhalt</p>

Nun möchte ich aus diesem String alles zwischen <p> und </p> auswählen,
mit substr kürzen und und wieder komplett ausgeben.

Code:
<p class=\"caption_cut\" style=\"margin:3px 0 0 0; width:90px; border:1px solid #000000;\">Das ist ein ...</p>

Vermutlich geht das mit preg_replace. Aber leider bekomme ich das
trotz der Hilfe von php.net nicht hin.

Vielleicht kann mir ja jemand von Euch helfen.

Viele Grüße, Tomate
 
Hi,

das kannst Du z.B. mit [phpf]preg_replace_callback[/phpf] machen:

PHP:
$str = "<p class=\"caption_cut\" style=\"margin:3px 0 0 0; width:90px; border:1px solid #000000;\">Das ist ein zu langer Inhalt</p>";
$result = preg_replace_callback('#(<p[^>]+>)(.*)(</p>)#', 
				create_function('$matches', 'return $matches[1] . substr($matches[2], 0, 10) . \'...\' . $matches[3];'), 
				$str);
echo $result;

LG
 
Zurück