[PHP] HTML bewerken, links verwijderen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Zarc.oh
  • Registratie: November 2000
  • Laatst online: 16-05 16:24

Zarc.oh

heeft een HD van 20 YottaByte

Topicstarter
Ik wil mbv PHP de HTML van een website bewerken. Ik wil de links eruit halen en dan weergeven in de browser.
Ik heb het volgende:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$url  = "http://www.hva.nl";
$link = fopen($url, "r") or die ("Doet het niet");
$var="";
while(!feof($link))
    $var .= fread($link, 4096);

$search = array ("'<a[^>]*?>.*?</a>'si", "/src=\"/"); 
$replace = array ("",                     "src=\"".$url); 
$var = preg_replace ($search, $replace, $var); 

echo $var; 

?>


1. Het werkt, voor zover ik kan zien, alleen op het domein van waar het gehost is. Het staat wel op een andere server. Ik wil ook bv http://www.google.nl kunnen gebruiken, maar dan krijg ik:
code:
1
2
3
4
5
6
Warning: fopen() [function.fopen]: php_hostconnect: connect failed in 
/user1/ie99/zwier04/Html/popup/antipopupblokker.php on line 3

Warning: fopen(http://www.google.nl) [function.fopen]: failed to create stream: 
No route to host in /user1/ie99/zwier04/Html/popup/antipopupblokker.php on line 3
Doet het niet

Ik open de stream toch alleen readonly, bovendien heb ik op de andere serversbinnen het domein geen schrijfrechten

2. Als ik 2x preg_replace gebruik, doet ie alleen de eerste. Ik wil dat het 2x doen
Als er relatieve urls gebruikt worden moeten deze nl omgezet worden naar absolute, omdat het script op een andere server staat.
Is opgelost :)

3. Als ik hetvolgende doe:
[php]
$var = preg_replace("/<a|<\/a/", "<!a", $var);
[/php]
dan vervangt ie alle tags beginnend met <a of </a door <!a
dat is goed, maar er bestaan nog meer tags die met <a beginnen zoals <address> dus wil er een spatie achter doen, maar dan vervangt ie alleen <a en geen </a meer?
Is ook opgelost :)

4. Daarnaast wil ik dat src=\"" in src=\"".$url veranderd wordt, maar niet voor src=\"http:\/\/" of src=\"ftp:\/\/"
Hoe doe ik dit met een regular expression??

Kan iemand me (deels) helpen? Het is nog alwat, maar als iedereen 2 cent in potje stopt, kom ik een eind ;)

edit:

Ik heb al 2 dingen uitgevonden, maar die andere staan nog open, dus als iemand ideeën heeft, graag _/-\o_

[ Voor 64% gewijzigd door Zarc.oh op 16-04-2003 11:26 ]

Zoek wat je niet eerder vond


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:04
Zarc.oh schreef op 16 April 2003 @ 00:45:
Kan iemand me (deels) helpen? Het is nog alwat, maar als iedereen 2 cent in potje stopt, kom ik een eind ;)
Eén centje slechts ;). Jouw eerste probleem met betrekking tot het alleen kunnen openen van lokale files kan te maken hebben met een verouderde PHP-versie. Als dat niet het geval is, kijk dan eens naar de instelling van allow_url_fopen.

Acties:
  • 0 Henk 'm!

  • Zarc.oh
  • Registratie: November 2000
  • Laatst online: 16-05 16:24

Zarc.oh

heeft een HD van 20 YottaByte

Topicstarter
De PHP-versie is 4.3.1 (lijkt me nieuw genoeg) en allow_url_fopen staat aan.
PHP info is hier te vinden.

[ Voor 8% gewijzigd door Zarc.oh op 16-04-2003 10:34 ]

Zoek wat je niet eerder vond


Acties:
  • 0 Henk 'm!

  • Zarc.oh
  • Registratie: November 2000
  • Laatst online: 16-05 16:24

Zarc.oh

heeft een HD van 20 YottaByte

Topicstarter
*Kick*
Ik ben er nog steeds niet uit waarom het alleen werkt bij adressen uit hetzelfde TLD.
Is er niemand die ditzelfde probleem heeft gehad, of wat de correcte manier is?

Zoek wat je niet eerder vond