Mailinglisten-Archive |
Pascal Schult <info_(at)_schuborg.de> schrieb:
> hi liste..
hi pascal,
> kan mir jemand sagen, wieso ich bei dieser syntax immer noch im ergebnis
> ein html-tag habe?
Du hast ein paar Dinge nicht bedacht:
1. Im Beispiel gibt es schon einen closing tag </font> bevor der eigentliche
Text anfaengt.
2. zwischen den Tags koennten Leerstellen sein
3. tags bestehen nicht nur aus <\w+>
Folgender code funktioniert (zumindest auf Dein Beispiel):
<?php
$txt[4]= '<BR><BR></font><B><I>titel test</i></b><BR><FONT SIZE="-1">';
preg_match("|(?: # don't save this
</? # could be a closing tag
\w # a word char is needed
.*? # plus anything until
> # closing bracket
\s* # might be even spaces between tags
)* # repeat 0..n
([^<]*)? # everything until another opening bracket
|ix",$txt[4],$titel);
print $titel[1];
?>
Beschraenkung hierbei:
1. Du bekommst _nur_ die erste Textstelle ausserhalb der html-tags.
> bitte keine tips mit: nimm doch strip_tags() ;)
nimm doch strip^h^h^h ... ;->
... preg_replace()
Damit kannst Du auch recht gut die ungewuenschten Teile eliminieren
(Wahrscheinlich besser als im obigen code).
cu,
oliver
php::bar PHP Wiki - Listenarchive