2017-05-03 1 views
0

J'ai un programme qui lit des lignes à partir d'un fichier texte, et chaque ligne est formatée comme ceci.Comment est-ce que je ferais le premier mot d'une chaîne un lien mailto au dernier?

House 5682 Rose Road [email protected] 

Je veux que mon programme pour imprimer chaque ligne où le mot « maison » est un lien mailto à l'email et l'email est pas imprimé. En ce moment je l'ai imprimant chaque ligne et découpant l'email, mais je n'arrive pas à comprendre comment faire le lien mailto. J'en ai besoin pour sortir comme ceci:

Avec 'House' mailto lié à [email protected] C'est ce que j'ai jusqu'ici.

$houses = file('houseList.txt'); 
$houseNumber = 1; 
foreach($houses as $house) 
{ 
    $line = preg_replace('/\W\w+\s*(\W*)$/', '$1', $house); 
    echo " ".$houseNumber." "; 
    echo substr($line,0,strrpos($house, ' '))."\n"; 
    $houseNumber++; 
} 
+0

vous voulez faire le premier mot pour mailto ou seulement maison? –

+0

Je veux que le premier mot soit house, mais que ce soit un lien vers mailto l'email à la fin. – Brit24

Répondre

1

cela devrait le faire. toute la ligne, moins l'adresse e-mail, est le lien. facile à modifier si vous voulez juste que la maison soit l'ancre.

$houses = file('houseList.txt'); 
$houseNumber = 1; 
foreach($houses as $house) 
{ 
    $pos = strrpos($house," "); 
    $mailto = substr($house, $pos+1); 
    $house = substr($house, 0, $pos); 

    echo "<a href=mailto:$mailto>$house</a><br>"; 
    $houseNumber++; 
} 
+0

Cela a ajouté le lien mailto au premier mot comme il était censé, mais maintenant le reste de la ligne ne s'affiche pas? La partie qui a l'adresse. – Brit24

+0

voici ma sortie: House 5682 Rose Road