2010-09-14 6 views
-1
function formatUpdate($tweet,$dt,$picture,$username) 
{ 
    if(is_string($dt)) $dt=strtotime($dt); 

    $tweet=htmlspecialchars(stripslashes($tweet)); 


     $at = "@" . $username; 




    return' 
    <li> 
    <a href="nano.com/' . $username . '"><img class="avatar" src="images/' . $picture . '" width="48" height="48" alt="avatar" /></a> 
    <div class="tweetTxt"> 
    <strong><a href="nano.com/' . $username . '">' . $username . '</a></strong> '. preg_replace('/((?:http|https|ftp):\/\/(?:[A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?[^\s\"\']+)/i','<a href="$1" rel="nofollow" target="blank">$1</a>',$tweet).' 
    <div class="date">'.relativeTime($dt).'</div> <a class ="reply" href="?replyto=' echo $at; '">reply</a> 
    </div> 
    <div class="clear"></div> 
    </li>'; 

} 
+0

Le code dans votre question est très mal formaté et la dernière ligne est une erreur de syntaxe en elle-même. Je ne suis même pas sûr que l'édition de mattbasta ait fait quelque chose pour l'améliorer. Pourriez-vous coller le code complet? – BoltClock

+0

c'est juste une partie du code, je voulais juste vous montrer des extraits du code pour prouver mes questions !! – getaway

+0

Eh bien, à l'image de votre code en ce moment, vous n'attribuez pas la chaîne à une variable et vous ne l'écrivez pas. Si votre code ressemble à ça, il y a le problème. – BoltClock

Répondre

0

Pour ajouter la valeur d'une variable à une chaîne que vous ne devez pas la variable écho.

Vous avez

href="?replyto=' echo $at; '">reply</a> 

Modifier à

href="?replyto='. $at .'">reply</a> 
+0

votre droit merci, mais le problème sur la page il montre un @ nom d'utilisateur au lieu de "répondre" lien? c'est bizarre. Je pense que je fais mal la concat – getaway

1

le boulon est bon. Souvent, le problème de la concatation est lié à une confusion entre le code, les littéraux et les guillemets/doubles guillemets. essayez d'utiliser Heredoc à la place pour nettoyer votre bloc de code.

par exemple, je ferais ce qui suit pour sauver mes yeux fixés sur le code et pour sauver mon esprit de folie en essayant de trouver où l'erreur de syntaxe est (pseudo-codage uniquement):

$at = "@$username"; 
$rt = relativeTime($dt); 

$out = <<<raw 
    <div class="date">$rt</div> 
    <a class ="reply" href="?replyto=$at">reply</a> 
raw; 

juste regarde à quel point ça a l'air plus simple hein?

pour en savoir plus sur heredoc voici une référence de lecture.

ref: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc