par
BaLiSTiK » 04 mai 2006, 10:15
Bonjour, je souhaite votre aide à propos d'un code source que l'on m'a passé pour une page que je dois faire. (jai déja posté sur le forum pour un autre soucis qui a été reglé, merci ^^).
La fonction permet de recuperer des liens se trouvant dans une table MySQl
(récupere ce qui y'a entre <a href..> et </a>.
le code de la fonction :
le code de la fonction
function getHrefLinks($content) {
$motif='`<a href="[^>]+">[^<]+</a>`';
preg_match_all($motif,$content,$out);
$motif='`href="[^>]+"`';
$out3 = array();
foreach ($out[0] as $value) {
preg_match_all($motif,$value,$out2);
if (count($out2)>0) {
$thisString = $out2[0][0];
$thisString = str_replace("\"", "", $thisString);
$thisString = str_replace("href=", "", $thisString);
$thisString2 = split (" ", $thisString);
$thisString = $thisString2[0];
if (substr($thisString, 0,strlen("http://"))!="http://") {
$urlParsed = parse_url($_SERVER["PHP_SELF"]);
$path_parts = pathinfo($urlParsed["path"]);
$thisString = "http://".$_SERVER["HTTP_HOST"].$path_parts["dirname"].$thisString;
}
$out3[] = $thisString;
}
}
return $out3;
}
ensuite pour afficher :
while($tab=mysql_fetch_array($req)){
$urlInContent = getHrefLinks($tab['CONTENT']);
if ( isset($tab['CONTENT']) && $tab['CONTENT'] != "" )
print_r ($urlInContent).'<br>';
}
et on a comme résultat sur ma page :
etc...
Donc ce que je désire, c est ne pas afficher déja les Array(), car ils ne retourne rien et puis lorsqu'une URL est trouvé, ne garder que l URL au lieu de {
Array ( [0] =>
http://bacasable1.argosdev2.net//delia- ... cle_id-44/
[1] =>
http://bacasable1.argosdev2.net//delia- ... cle_id-65/
[2] =>
http://bacasable1.argosdev2.net//delia- ... le_id-374/
[3] =>
http://bacasable1.argosdev2.net//delia- ... le_id-376/ )}
merci d'avance.

Bonjour, je souhaite votre aide à propos d'un code source que l'on m'a passé pour une page que je dois faire. (jai déja posté sur le forum pour un autre soucis qui a été reglé, merci ^^).
La fonction permet de recuperer des liens se trouvant dans une table MySQl
(récupere ce qui y'a entre <a href..> et </a>.
le code de la fonction :
le code de la fonction
[php]
function getHrefLinks($content) {
$motif='`<a href="[^>]+">[^<]+</a>`';
preg_match_all($motif,$content,$out);
$motif='`href="[^>]+"`';
$out3 = array();
foreach ($out[0] as $value) {
preg_match_all($motif,$value,$out2);
if (count($out2)>0) {
$thisString = $out2[0][0];
$thisString = str_replace("\"", "", $thisString);
$thisString = str_replace("href=", "", $thisString);
$thisString2 = split (" ", $thisString);
$thisString = $thisString2[0];
if (substr($thisString, 0,strlen("http://"))!="http://") {
$urlParsed = parse_url($_SERVER["PHP_SELF"]);
$path_parts = pathinfo($urlParsed["path"]);
$thisString = "http://".$_SERVER["HTTP_HOST"].$path_parts["dirname"].$thisString;
}
$out3[] = $thisString;
}
}
return $out3;
}
[/php]
ensuite pour afficher :
[php]
while($tab=mysql_fetch_array($req)){
$urlInContent = getHrefLinks($tab['CONTENT']);
if ( isset($tab['CONTENT']) && $tab['CONTENT'] != "" )
print_r ($urlInContent).'<br>';
}
[/php]
et on a comme résultat sur ma page :
[quote]
Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( [0] => http://bacasable1.argosdev2.net//delia-CMS/vivre_au_chesnay/zoom/article_id-44/ [1] =>
http://bacasable1.argosdev2.net//delia-CMS/vivre_au_chesnay/zoom/article_id-65/ [2] =>
http://bacasable1.argosdev2.net//delia-CMS/vivre_au_chesnay/zoom/article_id-374/
[3] =>
http://bacasable1.argosdev2.net//delia-CMS/vivre_au_chesnay/zoom/article_id-376/ ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( [0] =>
http://www.recensement.insee.fr/RP99/rp99/
page_accueil.user_choix_aut?nivgeo=C&theme=ALL&typeprod=ALL&choix_reg=&codgeo=78158&choix_saisi=Le-Chesnay&lang=FR&valider=valider
[1] =>
http://www.insee.fr/fr/recensement/nouv_recens/vous/generalites.htm )
Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) Array ( ) [/quote]
etc...
Donc ce que je désire, c est ne pas afficher déja les Array(), car ils ne retourne rien et puis lorsqu'une URL est trouvé, ne garder que l URL au lieu de {
Array ( [0] => http://bacasable1.argosdev2.net//delia-CMS/vivre_au_chesnay/zoom/article_id-44/
[1] => http://bacasable1.argosdev2.net//delia-CMS/vivre_au_chesnay/zoom/article_id-65/
[2] => http://bacasable1.argosdev2.net//delia-CMS/vivre_au_chesnay/zoom/article_id-374/
[3] => http://bacasable1.argosdev2.net//delia-CMS/vivre_au_chesnay/zoom/article_id-376/ )}
merci d'avance.
:D