2017-05-03 1 views
0

Ich habe ein Programm, das Zeilen aus einer Textdatei liest, und jede Zeile ist wie folgt formatiert.Wie würde ich das erste Wort einer Zeichenfolge einen Mailto-Link zu den letzten machen?

House 5682 Rose Road [email protected] 

Ich möchte mein Programm jede Zeile auszudrucken, wo das Wort ‚Haus‘ ein Link auf die E-Mail mailto ist, und die E-Mail wird nicht gedruckt. Im Moment habe ich es jede Zeile drucken und die E-Mail ausschneiden, aber ich kann nicht herausfinden, wie der Mailto-Link zu tun. Ich brauche es so herauskommen:

House 5682 Rose Road 

Mit 'House' Mailto mit [email protected] verbunden. Das habe ich bisher.

$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

Sie wollen das erste Wort zu mailto oder nur Haus machen? –

+0

Ich möchte das erste Wort Haus sein, aber es ist ein Link zu mailto die E-Mail am Ende. – Brit24

Antwort

1

sollte dies tun. Die ganze Zeile, abzüglich der E-Mail-Adresse, ist der Link. einfach zu ändern, wenn Sie nur wollen, dass das Haus der Anker ist.

$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

Dies hat den mailto-Link zum ersten Wort hinzugefügt, so wie es sein sollte, aber jetzt wird der Rest der Zeile nicht angezeigt? Der Teil, der die Adresse hat. – Brit24

+0

Hier ist meine Ausgabe: House 5682 Rose Road

Verwandte Themen