Bonjour à vous tous,

Je voudrais créer un système sur des forums FluxBB permettant de 'sauter' les liens LinkBucks, c'est a dire de poster le lien direct quand on a posté son lien d'origine, en LinkBucks (code du script trouvé sur une discussion ici
)
Je dirais que j'ai à moitié réussi; je vous montre :

Dans le fichier de post :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
else if (preg_match('^http://[0-9a-z]+.linkbucks.com|baberepublic.com|blahetc.com|linkgalleries.net|inkseer.net|picturesetc.net|placepictures.com|qvvo.com|realfiles.net|seriousfiles.com|seriousurls.com|thatsprime.com|thesefiles.com|thesegalleries.com|thosegalleries.com|tinybucks.net|uberpicz.com|ubervidz.com|ubucks.net|ugalleries.net|urlpulse.net|viraldatabase.com|youfap.com|zxxo.net.com/?(url/)?(http://)?(.*)?http://linkbee.com/.*^', $message))
		include PUN_ROOT.'nocash.php';
Si jamais on trouve du LinkBucks dans le post, alors on inclus le nocash, qui est celui ci

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
			$host = $message;
			$host = str_replace("\r\n", "\n", $host);
			$host = explode("\n",$host);
 
	foreach($host as $n => $hostatester)
	{
	$link = '';
	$match1 = '';
	$match12 = '';
	$n = '';
	$type = '';	
	$regexlinkbuck = '#^http://[0-9a-z]+.linkbucks.com|baberepublic.com|blahetc.com|linkgalleries.net|inkseer.net|picturesetc.net|placepictures.com|qvvo.com|realfiles.net|seriousfiles.com|seriousurls.com|thatsprime.com|thesefiles.com|thesegalleries.com|thosegalleries.com|tinybucks.net|uberpicz.com|ubervidz.com|ubucks.net|ugalleries.net|urlpulse.net|viraldatabase.com|youfap.com|zxxo.net.com/?(url/)?(http://)?(.*)?$#'; 
	$regexlinkbee = '#^http://linkbee.com/.*$#';
	$n = 1;
	$iteration = array();
	while($n)
	{
		if($n !=1)
		{
		$hostatester = $link;
		}
	if(preg_match($regexlinkbuck,$hostatester))
					{	
								$fp = fopen($hostatester,"r");	
								while (!feof($fp))
								{
								$buffer .= fgets($fp);
								}
								fclose($fp);
								preg_match('^linkDestUrl^',$buffer,$match);//TEST SI IL SAGIT DUNE INTERMISSION 
								preg_match('^<frame id="frame2" frameborder="0" noresize="1" src="^',$buffer,$match2);//TEST SI IL SAGIT DUNE TOPBANNERS
								if($match != false)
								{
								preg_match('^linkDestUrl.=.\'(.+\..+)\'^',$buffer,$link);	
								$link = $link[1];
								$buffer ='';
								$type = intermission;
								}
								elseif($match2 != false)
								{	
								preg_match('^<frame.id="frame2".frameborder="0".noresize="1".src=\"(.+)\">^',$buffer,$link);
								$link = $link[1];
								$buffer ='';
								$type = topbanner;
								}
								$match ='';
								$match2 ='';
					}
 
		elseif(preg_match($regexlinkbee,$hostatester)) //LINKBEE
					{
							$fp =fopen($hostatester,"r");
							while(!feof($fp))
							{
							$buffer .=fgets($fp);
							}
							fclose($fp);
							preg_match('^<title>Linkbee redirection, please wait...</title>^',$buffer,$match); 
							if($match == false) //top banner
							{
							preg_match('^<title>Linkbee:(.*)</^',$buffer,$link);
							$link = $link[1];
							$type = topbanner;
							}
							else //top intermission
							{
							preg_match('^<meta.http-equiv="REFRESH".content="..;.url=(.*)\">^',$buffer,$link);
							$link = $link[1];
							$type = intermission;
							}
							$match = '';			
							$buffer = '';
					}
					$regex = '^http://[0-9a-z]+.linkbucks.com|baberepublic.com|blahetc.com|linkgalleries.net|inkseer.net|picturesetc.net|placepictures.com|qvvo.com|realfiles.net|seriousfiles.com|seriousurls.com|thatsprime.com|thesefiles.com|thesegalleries.com|thosegalleries.com|tinybucks.net|uberpicz.com|ubervidz.com|ubucks.net|ugalleries.net|urlpulse.net|viraldatabase.com|youfap.com|zxxo.net.com/?(url/)?(http://)?(.*)?http://linkbee.com/.*^';
					preg_match($regex,$link,$match);
					if($match == false)
					{	
					$lol = $n;
					$n= '';
					}
					else
					{
					$lol = $n;
					$n++;		
					$match = '';
					}
		$message = str_replace($host, $link, $message);								 
	}
 
	}
?>
Ceci fonctionne à moitié; si je rentre seulement un lien ou quelques uns, aucun problème Mais si je rentre du texte avant et/ou après, c'est le drame


Pouvez vous m'aider si vous en avez la possibilité?

Merci d'avance

PS : le problème vient d'après moi du fait qu'il sélectionne tout le message au lieu de seulement la partie avec les liens... D'où ce forum, puisque je pense devoir utiliser les Regex.