Beiträge von youcan

    Ich habe ein Problem mit relativen Links im HTML-Code.


    In PHP liegt mir ein HTML-Block als String zur Verfügung den ich nun so modifizieren muss, dass aus allen relativen Links absolute entstehen.


    Momentan erfolgt die Ersetzung noch recht rudimentär im Stil von...

    Code
    1. $extractHTML = eregi_replace('src="images/','src="http://www.domain.com/folder/images/',$extractHTML);


    Hat jemand eine Idee wie ich alle enthaltenen URL's (href, src) so modifizieren kann, dass auch komplexe relative URL's ("/root/folder/" oder "../folder/") korrekt auf absoluten Zugriff umgestaltet werden?


    M.f.G.
    youcan

    Zitat von Torty

    Gern. Nachteilig ist einzig die etwas langsame Ausführung des PHP. Da kann man vermutlich auch nur wenig ändern...


    Also langsam ist es momentan nicht.


    Aber ich habe ein Problem mit den relativen Links im Kode.


    Momentan erfolgt die Ersetzung noch recht rudimentär.

    Code
    1. $extractHTML = eregi_replace('src="images/','src="http://www.domain.com/folder/images/',$extractHTML);


    Hast du eine Idee wie ich alle enthaltenen URL's (href, src) so modifizieren kann, dass auch komplexe URL's ("/root/folder/" oder "../folder/") korrekt auf absoluten Zugriff umgestaltet werden?


    youcan

    Zitat von Torty
    Code
    1. <?
    2. // ZielURL festlegen
    3. $ploneURL = "http://localhost:8282/ziel";
    4. // Zieldatei einlesen (HTML-Code)
    5. $ploneHTML = file_get_contents($ploneURL);
    6. // main-Bereich extrahieren
    7. $extractHTML = substr($ploneHTML, strpos($ploneHTML, "##START##")+13, strpos($ploneHTML, "##END##")-5);
    8. // main-Slot ausgeben
    9. echo $extractHTML;
    10. ?>


    Daran die ausgegebene Seite per PHP zu filtern hatte ich gar nicht gedacht. Aber so geht es natürlich auch, wenn man den code ein wenig anpaßt.



    Dieser Skript funktioniert jetzt einwandfrei.


    Vielen Dank für deine freundliche Unterstützung.


    ...youcan

    Zitat von Torty

    Du meinst dein Plone erstellt die Seite komplett und der Hauptbereich der Seite soll dann von PHP auf einer anderen Domain angezeigt werden?


    Ich möchte nur den Artikel (HTML) ohne alles andere. Also nur das was im "main_template" in den nachfolgenden 3 Zeilen steht:


    <metal:bodytext metal:define-slot="main" tal:content="nothing">
    Page body text
    </metal:bodytext>


    ...und auch diesen resultierenden Block OHNE "document actions".


    Die Anzeige in der PHP-Seite ist nicht das Problem.

    Wie kann man den Inhalt der "main column" in einer externen PHP Seite anzeigen?


    Ich möchte den Inhalt der "main column" meiner Plone Installation via
    php include in einer div Sektion meiner PHP Site anzeigen. Beide Sites
    haben unterschiedliche Domains.


    Es hat sich herausgestellt, dass man mit einem Python Skript den
    HTTP_REFERER überprüfen kann. Diesen kann man dann als "access rule"
    einsetzen.


    Leider benötige ich aber ein neues "main_template" um sicherzustellen,
    dass auch wirklich nur der nackte HTML Block (ohne Html, Header, Body usw)
    referenziert wird. Dafür muss man scheinbar einen zusätzlichen Skin
    einrichten.



    Hat Irgendjemand eine Idee wie ich das bewerkstelligen kann?


    Vielen Dank im Voraus für Eure Hilfe.


    YouCan