url tronqué regexe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : url tronqué regexe

Re: url tronqué regexe

par olivxii » 17 janv. 2011, 13:54

case 'MAIN' : {
							switch ($type) {
								case 'STATUTE' : {
									$ins_req = "INSERT INTO `".$this->config['bdd_table']
										."statutes`(`user_id`,`text`,`date`) 
										VALUES ('".$owner_id."',' ".$content."','".$date."')";
								      $content = preg_replace('`http://[a-z0-9._,/?!&=#-]+`i', '<a href="$0" >$0</a>', $content);                                       
									}
									
									break;									
								} 
							}

Re: url tronqué regexe

par olivxii » 12 janv. 2011, 21:19

$content est le url qui' est rentrée pour etre transformée en lien ..

Re: url tronqué regexe

par stealth35 » 11 janv. 2011, 16:23

après t'en fait quoi de $content ?

Re: url tronqué regexe

par olivxii » 11 janv. 2011, 16:18

je ne sais pas justement ... c'est quand je genere le code source de la page .....

sinon mon regex est correct
$content = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $content);

Re: url tronqué regexe

par stealth35 » 11 janv. 2011, 16:13

ils sortent d'où les &nbsp; ?

Re: url trounque preg_replace

par olivxii » 11 janv. 2011, 16:06

en changeant le preg_replace j'ai plus mon lien de coupé par contre toujours pas cliquable dans la deuxieme partie 'mur'.
$content = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $content);
par contre toujours cette anomalie d'espace ...
<span class="piece_news_content"><a&nbsp;href="http: google.fr="">http://google.fr&nbsp;</a&nbsp;href="http:></span>
dans le premier a href on remarque qu'il manque //
ensuite j'ai ma fermeture </a> qui se melange avec un href et http .....
ca devient vraiment bizarre j'ai vraiment l'impression que les regex ne passe pas du tout .. ou du moins sur la partie du bas car dans la partie statut tout se deroule bien..

merci de votre aide et de vos idées.

Re: url trounque preg_replace

par olivxii » 11 janv. 2011, 15:55

j'ai beau fouiller je ne trouve pas, par contre j'ai trouvé un morceau de script js ou il y a les dernieres news ... peut etre le soucis vient de la!!

Code : Tout sélectionner

// Recuperation de l'id de la derniere news publiee last_id = last_news_id; var url = web_adress+ajax_url+"action=get_news&last_news_id="+last_id+"&appel_number="+appel_number+"&filter="+filter; new Ajax.Request(url, { method: 'post', onSuccess: function(transport) { var retour=transport.responseText; var json=eval('(' + retour + ')'); if(json.answer == 'nok'){ affiche(translate('error_text'),'ok'); }else{ //On traite la réponse var html = json.html; //document.getElementById('main_wall').innerHTML = html; //document.getElementById('nb').innerHTML = json.nb_notif; if(json.news != 0){ var exist_html = document.getElementById('main_wall').innerHTML; var html_ok = html + exist_html; document.getElementById('main_wall').innerHTML = html_ok; if (last_news_id != 0) { var div = "main_wall_" + appel_number; new Effect.BlindDown(div); new Effect.Highlight(div, { startcolor: '#e6e6e6',endcolor: '#ffffff',duration:3.0 }); } //maj_cols_height(); } appel_number++; last_news_id = json.last_id; if ((first_id_news == 0) || (json.first_id != 0) && (json.first_id < first_id_news)) first_id_news = json.first_id; } } }); } function maj_last_statute() { var url = web_adress+ajax_url+"action=maj_last_statute"; new Ajax.Request(url, {onSuccess: function(transport) { var retour=transport.responseText; var json=eval('(' + retour + ')'); if (json.answer == "ok") { document.getElementById('actual_statute').innerHTML = json.html; } else { affiche(translate('error_text'),'ok'); } } } ); } function maj_last_statute_profil(user) { var url = web_adress+ajax_url+"action=maj_last_statute_profil&user="+user; new Ajax.Request(url, {onSuccess: function(transport) { var retour=transport.responseText; var json=eval('(' + retour + ')'); if (json.answer == "ok") { document.getElementById('actual_statute2').innerHTML = json.html; } else { affiche(translate('error_text'),'ok'); } } } ); } function maj_four_statute_profil(user) { var url = web_adress+ajax_url+"action=maj_four_status_profil&user="+user; new Ajax.Request(url, {onSuccess: function(transport) { var retour=transport.responseText; var json=eval('(' + retour + ')'); if (json.answer == "ok") { //A REMPLIR for(var i=0; i<4; i++){ var nb = i+1; document.getElementById('last_'+nb+'_photo').innerHTML = json.user_photo; document.getElementById('last_'+nb+'_cont').innerHTML = json.status[i]; document.getElementById('last_'+nb+'_time').style.display = json.displays[i]; document.getElementById('last_'+nb+'_time_cont').innerHTML = json.times[i]; } } else { affiche(translate('error_text'),'ok'); } } } ); }

url tronqué regexe

par olivxii » 11 janv. 2011, 11:55

bonjour,
sur mon site quand je place un statut il s'affiche sur deux partie, une en "haut" avec le statut et en dessous le "mur", j'ai placer un preg_replace,
dans la partie du haut le lien est cliquable et dans la partie du bas l'url se decoupe et n'est pas cliquable.

en recuperant le code source je voit plusieurs erreurs mais je n'arrive pas a les identifier a savoir si elle proviennent du php, des templates ou des js.
<span class="piece_news_content"><a&nbsp;href="http: google.fr="" target="_blank">http://google.f<br>r</a&nbsp;href="http:></span>
mon preg_replace
$content = preg_replace('`http://[a-z0-9._,/?!&=#-]+`i', '<a href="$0"target="_blank">$0</a>', $content);
tout me semble correct, il n'y a que dans cette deuxieme partie que ca ne marche pas
voir image :

Image