Mailinglisten-Archive |
Guten Morgen, hätte nicht gedacht das ich an meinem Geburtstag an so nem Problem hier hänge ;) Folgende Problemstellung: es soll ein Html-Quellcode ein um x Zeichen gekürzt werden, wobei x die länge der Text-Zeichen (inclusive whitespaces) angibt. Also wird erst der Html-Code um die Html-Tags gestrippt und dann die Zeichenkette gestrippt die die länge x hat. Nun habe ich einen reinen Textstring. Um jetzt das Ergebnis aber mit den Html-tags des Quellcodes zu erhalten brauche ich einen regex der mir das als Ergebnis liefert! So gehe ich vor: // Normal Cut whith Html $cutstring = substr(DediMod_format_str($content_html,1), 0, $lenght); // Function DediMod_format_str($strip_html (string), $strip_br (bool)) strippt alles raus was Html, Sonderzeichen ist if (strpos($cutstring, ' ') === false) $cutstring .= ' '; // um auch nur ein Wort zu maskieren $chars_in = preg_split("/[\s,]|\W+/", $cutstring, -1, PREG_SPLIT_OFFSET_CAPTURE); // Array erzeugen mit allen Wörtern aus $cutstring for ($last_char = 0; $last_char < (count($chars_in) -1); $last_char++) if ($chars_in[$last_char][0] != '') $chars .= '.*'.$chars_in[$last_char][0]; // regex erzeugen mit allen Suchwörtern preg_match("/(?sm)^$chars\b/", $content_html, $matches); // rausstrippen des Html-Codes mit den Suchwörtern $type_out = trim($matches[0]) . DediMod_get_broken_tags($matches[0]) . "..."; # set Cut End-String // Funktion DediMod_get_broken_tags($in (string)) ersetzt fehlende Html-Tags Aber leider geht es nicht so wie ich es wollte ;) any Help?? Gruss Roland Braband
php::bar PHP Wiki - Listenarchive