Salut, mon but c'est après avoir extrait une url d'un texte j'ouvre l'url et j'extrais le <title> de la page et je le met en titre d'url ma fonction marche trop bien pour toute url là voicisi je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 function parseComment($text) { // $text = strip_tags($text); $pattern = '/(((ht|f)tp(s?):\/\/)|(www\.[^ \[\]\(\)\n\r\t]+)|(([012]?[0-9]{1,2}\.){3}[012]?[0-9]{1,2})\/)([^ \[\]\(\),;"\'<>\n\r\t]+)([^\. \[\]\(\),;"\'<>\n\r\t])|(([012]?[0-9]{1,2}\.){3}[012]?[0-9]{1,2})/i'; $text = preg_replace_callback($pattern, create_function( '$matches', 'return getUrlTitle($matches[0]);' ), $text); return $text; } function getUrlTitle($url) { $paged = fopen($url, "r" ); $x = 0; $page = ''; if ($paged) { while (!feof($paged) && ($x < 10)) { $page .= fread($paged, 8192); $x++; } fclose($paged); } preg_match("/<title>[nrs]*(.*)[nrs]*<\/title>/", $page, $title); if (isset($title[1])) { if ($title[1] == '') { return $url; } $title = $title[1]; return '<a href="' . $url . '">' . trim($title) . '</a>'; } else { return $url; } }
j'aurai comme résultat mon site préféré est Forum des professionnels en informatique
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo parseComment("Mon site préféré est http://www.developpez.net");
par contre si j'essaye avec ce link
j'ai un message d'erreur fopen ne peut pas ouvrir http://www.manga-sekai.com/f !! oui ça s'arrête à f !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part http://www.manga-sekai.com/f,1,hello
mais ce qui est plus bizarre c'est que si je teste la première fonction sans faire un return avec la deuxième fonction j'ai tout mon lien (qui est censé passer à la deuxième fonction Donc c'est Ok )
et quand je teste sur la deuxième fonction (avec un lien en entrée ) ça marche à merveille
donc le problème n'est ni de la première fonction parseComment ni de la deuxième getUrlTitle .. Sauvez moi !!
Partager