php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.03.2006, 17:40  
Gast
 
Beiträge: n/a
Standard strip_text ?

Hallo,

ich wollte mir mal schnell ein Tool zur Fehlersuche in der HTML-Ausgabe von PHP-Seiten programmieren und habe eine Denkblockade

einlesen der Seite mit file mit Ausf�hrung des PHP-Codes
Ziel Anzeige nur der HTML-Tags und block-Tags mit style="border 1px red" versehen, die CSS habe ich jedoch schon eingef�gt,

jetzt war ich soweit
Code:
<?php
preg_replace("/\>(.*?)</",">&npsp;<",$inhalt);
?>
falsch gedacht, $inhalt ist die ganze Seite, =Sanduhr, bearbeite ich jedoch die
Zeilen einzeln, so kommt z.B. bei einem Zeilen-Umbruch kein passendes Ergebnis heraus
PHP-Code:
<?php
preg_replace
("/\>(\n|\r)(.*?)(\n\|r)</",">&npsp;<",$zeile);
?>

wie gesagt Denkblockade
unerw�nscht (der andere Text ist verschwunden solange er in einer Zeile steht:
Code:
 <div align="center"><font size="2" color="brown">

        dieser Text steht noch da
hier noch das 5-min-script mit Denkblockade:
PHP-Code:
<?php

$mshtml
=file("mshtml.php?schlechteshtml.doc");
$ausgabe="";

$style="<style type='text/css'>DIV,TD,SPAN{border:2px solid red;} TABLE,TH{border:3px dotted darkblue;} font,b,i,u{background-color:gold;} IMG{border:1px solid green}</style>";
foreach (
$mshtml as $zeile){
$zeile=trim($zeile);
$zeile str_replace("\r\n"""$zeile); //auch falsch :mrgreen:
$zeile=str_replace("<body",$style."<body",$zeile);
$ausgabe.=preg_replace("/>(\r|\n)(.*?)(\r\n)</","><",$zeile)."\n";

}
echo 
$ausgabe;
?>
edit:
oder spinnt mein browser, der Text hier sieht auch nicht sauber aus und die PHP-Formatierung auch nicht
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.03.2006, 20:35  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dein 1. regulärer Ausdruck müsste meines Erachtens nach alles zwischen <html> und </html> fressen, da du kein Ungreedy verwendest.
Außerdem
Zitat:
. - Der einfache Punkt steht für ein beliebiges Zeichen außgenommen der Zeilenumbruch \n. Damit der Punkt auch auf den Zeilenumbruch passt muss der Modifier s benutzt werden
Und im untersten preg_replace() suchst du nach \r\n obwohl du es vorher ersetzt hast.

Ich versuch mal morgen einen RegExp für dein Problem zu finden, wenn du es bis dahin nicht gelöst hast.
Zergling-new ist offline   Mit Zitat antworten
Alt 09.03.2006, 23:46  
Gast
 
Beiträge: n/a
Standard

Hallo,

danke für die Antwort, habe eine Lösung gefunden..
Dann kann man php-Seiten nur über http:// einlesen, sonst liest man den source-code ein. Eigentlich wollte ich nur schnell einer hübschen Nachbarin helfen, ihre alte word97-html-Seiten in nvu-Vorlagen umzuwandeln

Deine Lösung würde mich aber trotzdem interessieren

hier jetzt mein Testscript nach einer Pause geschrieben, was man sicher noch für ein Formular und externe CSS erweitern könnte.


PHP-Code:
<?php
$url
="http://www.phpfriend.de/forum/"
$mhtml=file($url);
$ausgabe="";

$style="<style type='text/css'>DIV,TD,SPAN{border:2px solid red;} TABLE,TH{border:3px dotted darkblue;} font,b,i,u{background-color:gold;} IMG{border:1px solid green}</style>";

foreach (
$mhtml as $zeile){

$zeile=trim($zeile);


$ausgabe.=$zeile;

}
$ausgabe=preg_replace("/>(.*?)</","> <",$ausgabe)."\n";
$ausgabe=str_replace("<body",$style."<body",$ausgabe);
echo 
$ausgabe;


?>
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
strip_text, strip_text php, php strip_text, php strip_text(), nvu vorlagen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:10 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.