SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.06.2003, 15:44:26
karim karim ist offline
Anfänger
 
Registriert seit: Jun 2003
Beiträge: 8
pfade aus html-String filtern

Hallo

Hab folgendes Problem:

Generiere aus HTML-Datei eine neu, bloss modifiziert.
Da die modifizierte aber nicht mehr im gleichen Verzeichniss liegt wie das Original, stimmen alle Pfade nicht mehr (Bilder, Links, etc.)

Wie kann ich möglichst einfach ALLE Pfade aus meinem String herausfiltern, um sie dann anpassen zu können?

Wäre sehr dankbar für Tips.
Mit Zitat antworten
  #2  
Alt 22.06.2003, 09:14:09
Gweilo Gweilo ist offline
Member
 
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
suchen und ersetzen?
Ich weiss nicht, ob ich dich richtig verstanden habe, willst du einfach alle pfade in der html Datei ersetzen? Dazu gibt es in fast allen editoren funktionen, die suchen und ersetzen heissen. Damit kannst du nach dem pfad suchen und alle treffer mit etwas anderem ersetzen.
Mit Zitat antworten
  #3  
Alt 24.06.2003, 11:13:55
karim karim ist offline
Anfänger
 
Registriert seit: Jun 2003
Beiträge: 8
Ja schon, ich möchte das aber dynamisch machen.

D.h. mein Skript nimmt sich eine HTML-Seite auf meiner domain, verändert alle links, und gibt die seite dann aus.
Mit Zitat antworten
  #4  
Alt 24.06.2003, 11:46:50
Gweilo Gweilo ist offline
Member
 
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
achsoo. dachte schon, wär sonst etwas eine banale frage =)

schau mal auf selfphp folgende befehle nach:
eregi_replace
ereg_replace
str_replace
und die Filebefehle zum öffnen und schreiben der Datei

Damit solltest du problemlos die Pfade ändern können.
Mit Zitat antworten
  #5  
Alt 24.06.2003, 23:45:10
karim karim ist offline
Anfänger
 
Registriert seit: Jun 2003
Beiträge: 8
ja wär schon etwas banal ;-)

Die Befehle die Du aufgelistet hast kenne ich, allerdings liegt das Problem darin, alle möglichen URLs in einem Dokument zu finden.
Also eigentlich muss ich nur die relativen Pfade ändern, da das neue Dokument nicht im gleichen Verzeichniss liegt wie das Original.
Versuch s mal mit dem Ansatz, dass jeder String, welcher ausgehen mit . , .. , oder einem Unterverzeichniss (ausgehend von der Originaldatei) wohl ein relativer Pfad sein wird. Ist allerdings nicht sehr simpel und weiss auch nicht ob es funzt.

Die einfachste Lösung wäre natürlich, alle Dokument im selben Ordner zu haben.....

Nu ja ma schaun..

Gruss
Mit Zitat antworten
  #6  
Alt 25.06.2003, 09:31:49
Gweilo Gweilo ist offline
Member
 
Registriert seit: Oct 2002
Ort: ch
Beiträge: 822
ein paar scriptschnipsel, die dir weiterhelfen könnten:

alle (php&html) Dateinamen aus allen unterordnern auslesen
PHP-Code:
$files = array();
$ordner = array("");

function 
getfolders()
{
  GLOBAL 
$files,$ordner;
  foreach (
$ordner as $dir)
  {
    
$verz=opendir("../".$dir);
    while (
$file readdir ($verz)) { 
      
      if (
is_dir("../".$dir."/".$file) && $file!="." && $file!="..")
      { 
        if (
$dir//  unterverzeichnis
          
array_push($ordner,$dir."/".$file);
        else
          
array_push($ordner,$file);
      }
      if (
is_file("../".$dir."/".$file) && (eregi(".php",$file) || eregi(".htm",$file)))
      {
        if (
$dir//  unterverzeichnis
          
array_push($files,$dir."/".$file);
        else
          
array_push($files,$file);
      }
    }
    
closedir($verz);
  }
  return 
$files;
}

$dateiarray=getfolders(); 
regex für links (von etwas ähnlichem wie ubbcode). Muss noch stark modifiziert werden
PHP-Code:
function dectags($str,$br)
    {
        while (
preg_match("/<a href="(.+?)">(.+?)</a>/si"$str$matches)) {

        
$searchfor $matches[1];
        
$replace $searchfor;
        
$replace trim($replace);    // remove all leading and trailing whitespaces
        
if (!stristr($replace,"http://")) {
            if (!
stristr($replace,"https://")) {
                
$replace "http://".$replace;
            } else {
                
$replace stristr($replace,"https://");
            }
        } else {
            
$replace stristr($replace,"http://");
        }
        
$str str_replace("[url="".$searchfor."">".$matches[2]."[/url]","{url=".$replace."">".$matches[2]."{/url}",$str);    } 
Mit Zitat antworten
  #7  
Alt 26.06.2003, 09:24:19
karim karim ist offline
Anfänger
 
Registriert seit: Jun 2003
Beiträge: 8
Vielen Dank!

Ja so etwas hatte ich mir in etwa auch vorgestellt. Dachte nur, da gäbs vielleicht schon Funktionen dazu in PHP. Aber da muss man wohl selber ran ;-)

Werds dann mal probieren.

Gruss
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:33:04 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.


© 2001-2025 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt