HTML-Datei durchsuchen und bestimmte Sachen ausgeben.

TTek

Mitglied
Hi

Ich habe folgendes Problem ich möchte ein HTML Dokument scannen und dabei alle

HTML:
[ URL=http://www.******]
[ IMG]http://www.*******[ /IMG][ /URL]
hinweis:
url ist großgeschrieben normal aber der editor hier macht das klein


Auslesen und dann ausgeben. Es handelt sich dabei um komplette Html dokumente mit Header usw.
Ich habe dafür einen regulären Ausdruck geschrieben: (in regex Coach klappt das)
Code:
\[URL.*.\[\/URL\]

Dann habe ich ein php script geschrieben mit Formular eingabe in das ich jeweils immer
den HTML-Code reinkopieren möchte.
und dann soll halt ne Ausgabe mit den gefundenen Ergebnissen kommen

PHP:
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Eignungstest 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">@import url(default.css);</style>
</head>

<body>
<form method="post" action= "<? $_SERVER['PHP_SELF'] ?> ">
	<p>Bitte geben Sie die Zahlen mit einem Komma getrennt ein Beispiel: 1,2,3 </p>
	<label for="textareainput">Zahlen Eingabe:</label><br />
	<textarea id="textareainput" name="inhalt" class="textarea" rows="" cols=""><? echo $_POST['inhalt']; ?></textarea><br />
	<br />
	<input name="submit" type="submit" id="submit" value="Abschicken" />
	<input type="reset" name="Submit2" value="Reset" />
</form>
<br />
<?
global $started;
$timeparts = explode(" ", microtime());
$started = $timeparts[1].substr($timeparts[0], 1);

		
	$inhalt = $_POST['inhalt'];
	
	$suchmuster = '\[URL.*.\[/URL\]';
	preg_match($suchmuster, $inhalt, $treffer, PREG_OFFSET_CAPTURE);
	print_r($inhalt);	
	
	
	/* Rechenzeit */
	global $started;
	$timeparts = explode(" ", microtime());
	$ended = $timeparts[1].substr($timeparts[0], 1);
	$elapsed = sprintf("%.9fs", $ended - $started);
	
	print <<< EOT
	<br><br>
Generated in $elapsed 
</body>
</html>

Css Datei für die, die es komplett möchten:

Code:
body {
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	color:#404040;
	background:#FFF;
}
/*Form default*/
textarea {
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	color:#404040;
	min-width: 400px;
	min-height: 150px;
	}
label {
	color:#999;
	cursor:pointer;
	padding-left:2px;
	line-height:15px;
	vertical-align:top;	
}

input {
	border: 1px solid;
}

so mein problem ist .. das es nicht klappt :rolleyes:
jemand ne Idee ?
 
Fehler gefunden

PHP:
$suchmuster = '/\[URL.*.\[\/URL\]/';
	preg_match($suchmuster, $inhalt, $treffer, PREG_OFFSET_CAPTURE);
	print_r($treffer);

aber dann zeigt er immer noch nicht alle matches an hmm... es stoppt nach dem ersten Fund.

2. Fehler gefunden

PHP:
$suchmuster = '/\[URL.*.\[\/URL\]/';
	preg_match_all($suchmuster, $inhalt, $treffer, PREG_OFFSET_CAPTURE);
	print_r($treffer);

muss es heißen.. in dem Forum findet man immer ne Lösung ^^
 
Zuletzt bearbeitet:
Ok jetzt hab ich ein neues Problem was sich bestimmt leicht lösen lässt
ich bekomme jetzt folgendes ausgegeben
HTML:
[ IMG]http://www.***.de/test.gif[ /IMG]\" target=\"_blank\" style=\"width: 250px;\" onmouseover=\"this.select();\" onclick=\"this.select();\" onChange=\"this.value=\'[ IMG]http://www.***.de/test.gif[ /IMG]

wie man sieht überall vor den " ist ein \ weil es ja für php umgewandelt wurde...gibs da nen einfachen weg das wieder zu entfernen ?
 
Zurück