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:
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:
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
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
Ik heb al 2 dingen uitgevonden, maar die andere staan nog open, dus als iemand ideeën heeft, graag
[ Voor 64% gewijzigd door Zarc.oh op 16-04-2003 11:26 ]