phpbar.de logo

Mailinglisten-Archive

[php] Regex Hilfe

[php] Regex Hilfe

Roland Braband r.braband at web.de
Sam Aug 16 14:23:06 CEST 2003


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