myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Links entfernen oder ersetzen PHP (https://mygully.com/showthread.php?t=2394299)

struchli 16.08.11 21:14

Links entfernen oder ersetzen PHP
 
Hallo Zusammen

Ich importiere von einer anderen Webseite eine Tabelle, was perfekt funktioniert
PHP-Code:

<?php header('Content-Type: text/html; charset=utf-8'); ?>
<table width="600" border="1" align="center">
<tr>
<td><?php
$inhalt
=file_get_contents("http://meineSeite.ch/holeDieSeite.php") ;
// echo $inhalt;
preg_match_all("/\<div\>(.*?)\<\/div\>/si"$inhalt$TextInMydiv);
/*
echo "<pre>";
print_r($TextInMydiv);
echo "</pre>";
*/
echo $TextInMydiv[0][3];
header('Content-type: text/plain'); // nur zur besseren Ausgabe 
?></td>
</tr>
</table>

Der Inhalt der Datei holeDieSeite.php ist dieser:
PHP-Code:

<?php
$ch 
curl_init();
curl_setopt($chCURLOPT_RETURNTRANSFER0);
curl_setopt($chCURLOPT_URL"http://www.football.ch/ifv/de/verein.aspx?v=376&t=31273&ls=10385&sg=31451&a=rr") ;
curl_setopt($chCURLOPT_HEADER0);
$inhalt=curl_exec($ch);
curl_close($ch);
?>

Leider werden dabei die Links
Code:

http://www.football.ch/YYY
durch den Link
Code:

www.meineSeite.ch/YYY
ersetzt. Kann ich dies mit einem weiteren PHP Befehl verhindern, also das die Links gleich bleiben wie auf der original Seite, oder die Links entfernen und nur den Text importieren?

Vielen Dank für die Hilfe

sirleo 17.08.11 19:59

Also, das hat schon alles seine richtigkeit.
was dein Problem sein wird ist, das die Links relativ zur seite angegeben werden,anstelle von Absolut.
Wenn du das mit mygully.com ausprobierst siehst du was ich meine.
du musst dann also mit einer RegEx nach relativen links suchen und diese ersetzen.
mfg

sirleo

xTaifunx 17.08.11 22:16

Zitat:

$TextInMydiv[0][3]=preg_replace('#<a(.*)>(.*)</a>#Uis', '\\2', $TextInMydiv[0][3]);
setze dies in deine ZeigeDirTabelle.php
direkt hinter dem preg_match_all zeile.
Die a tags werden alle entfernt. Und übrig bleibt nur der text.


oder du ersetzt alle /ifv/de/verein.aspx? durch str_replace auf eine von dir gewünschte link.
z.B.
Zitat:

$TextInMydiv[0][3]=str_replace(''/ifv/de/verein.aspx","zeigeDieTabelle.php",$TextInMydiv[0][3]);
und durch $_GET["v"]; kannst du sogar vom alten link die Variablen im URL auswerten. Muss du aber nicht.
Und wenn jemand da drauf clickt kommt er auf die gleiche seite von dir wo auch deine tabelle angezeigt wird.

struchli 18.08.11 07:22

Zitat:

Zitat von xTaifunx (Beitrag 22622641)
setze dies in deine ZeigeDirTabelle.php
direkt hinter dem preg_match_all zeile.
Die a tags werden alle entfernt. Und übrig bleibt nur der text.


oder du ersetzt alle /ifv/de/verein.aspx? durch str_replace auf eine von dir gewünschte link.
z.B.
und durch $_GET["v"]; kannst du sogar vom alten link die Variablen im URL auswerten. Muss du aber nicht.
Und wenn jemand da drauf clickt kommt er auf die gleiche seite von dir wo auch deine tabelle angezeigt wird.

Vielen Dank xTaifunx funktioniert so perfekt. Hast mir sehr geholfen. :T:T


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:16 Uhr.

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