string durchusuchen und ausgeben
marcolino
- php
Hallo zusammen
Ich habe einen String welchen ich durchsuchen möchte und dann den Text anzeigen von bis.
Als Beispiel:
********************************
Da ist auch irgend ein Text und sonst nochwas
<h1>Hier ist der ganze text</h1>
Hier ist auch wieder ein Text usw.
********************************
num möchte ich, dass es mir "Hier ist der ganze text" anzeigt also nach
<h1> im string sucht und bis </h1> anzeigt.
Wie kann ich das machen?
Freue mich riesig auf Eure Antworten.
Hi!
Wie kann ich das machen?
Das geht mit einem Regulären Ausdruck.
off:PP
Hallo
Vielen Dank schon mal für die prompte Antwort. Was ich noch nicht ganz verstehe...
Wenn ich einfach nach <h1></h1>
suchen will wieso sind da noch so viele Zeichen dazwischen [^>]*>(.*)
was genau bedeuten die? wieso ist es nicht einfach so:
preg_match_all("=<h1></h1>=siU",
und was genau bedeuten die = Zeichen?
Danke für Eure Hilfe.
***************************
$str = "lalalala
<body bgcolor=#cccccc>lang und weilig
noch eine zeile
<h1>Bla</h1>
</body>
tralalal";
preg_match_all("=<h1[^>]*>(.*)</h1>=siU", $str, $a);
print $a[1][0];
***************************
Hi,
Wenn ich einfach nach <h1></h1>
suchen will wieso sind da noch so viele Zeichen dazwischen [^>]*>(.*)
wenn Du nach "<h1></h1>" suchen willst, benötigst Du keine Zeichen dazwischen. Du benötigst nicht einmal Regular Expressions - eine simple Zeichenketten-Operation ist hierfür sehr viel sinnvoller.
was genau bedeuten die?
Bitte beschäftige Dich zunächst grundsätzlich mit einer neuen Technik, die Du einzusetzen gedenkst. Es gibt genügend Dokumentationen, Erklärungen der Grundlagen und sogar Tutorials.
wieso ist es nicht einfach so:
preg_match_all("=<h1></h1>=siU",
Weil sowas niemand mit einer Regular Expression machen würde.
und was genau bedeuten die = Zeichen?
Das sind die Delimiter. Weiteres erfährst Du, wenn Du Dich mit den Grundlagen beschäftigst.
Cheatah
Hallo,
wieso sind da noch so viele Zeichen dazwischen [^>]*>(.*)
Weil noch zusätzliche Attribute vorhanden sein könnten - zB style.
Mit freundlichem Gruß
Micha
Hello,
nun möchte ich, dass es mir "Hier ist der ganze text" anzeigt also nach
<h1> im string sucht und bis </h1> anzeigt.Wie kann ich das machen?
Wenn Du nur genau nach "<h1>" und "</h1>" suchst, also nicht nach '<h1 class="irgendwas">' oder ähnlich, dann ist stripos() z.B. brauchbar für Dich zum Auffinden des Start- und Stoppunktes.
http://de.php.net/manual/de/function.stripos.php
und dann substr() zum Ausscheinden des teilstrings
http://de.php.net/manual/de/function.substr.php
Wenn Du Multibyte-Codierung verwendest, also nicht iso8859-x, dann musst Du allerdings die Versionen aus der Gruppe der mb_* Funktionen benutzen.
http://de.php.net/manual/de/ref.mbstring.php
Ein harzliches Glückauf
Tom vom Berg