jens4ever
Goto Top

PHP String mit Links versehen

Hi zusammen,

zuerst mal frohes Fest euch allen!
Aus einem String extrahiere ich Hashtags und schreibe sie in eine mySQL DB. (SQL part ist hier weggelassen, um es nicht zu lange zu machen...)

Der String ...
$contentText = "Diest ist ein Test ok #sunday #Wasser #xmas";  
preg_match_all('/#([^\s]+)/', $contentText, $matches);  
$hashtags = implode(',', $matches[1]);  
$myHashtags = explode(',', $hashtags);  
$hashtag0 = $myHashtags;
$hashtag1 = $myHashtags[1];
$hashtag2 = $myHashtags[2];

echo $hashtag0;
	echo " ";  
echo $hashtag1;
	echo " ";  
echo $hashtag2;

... gibt im Browser "sunday wasser xmas" aus.
Soweit so gut.

Was ich nicht hinkriege ist, den String darzustellen UND die Hashtags zu verlinken.
D.h. das ZIEL soll in html so aussehen:

Diest ist ein Test ok <a href='example.com/?hashtag=sunday'>#sunday</a>  <a href='example.com/?hashtag=Wasser'>#Wasser</a> <a href='example.com/?hashtag=xmas'>#xmas</a>  

Danke für eure Hilfe vorab...

Gruß Jens

Content-ID: 359183

Url: https://administrator.de/contentid/359183

Ausgedruckt am: 05.11.2024 um 08:11 Uhr

tomolpi
tomolpi 23.12.2017 um 16:00:46 Uhr
Goto Top
Hi Jens,

sowas ähnliches hatte ich hier mit dem Datum erklärt: Datum Rechner

Hilft dir das weiter, oder soll ich dir ein Beispiel schreiben?

LG

tomolpi
Jens4ever
Jens4ever 23.12.2017 um 18:44:30 Uhr
Goto Top
Also es wäre total nett, wenn du das schreiben könntest, wenn dir der Aufwand nicht zu hoch ist. Ich würde dir per Paypal n 5er fürn Glühwein senden! Wäre das OK?

LG
Jens
em-pie
em-pie 23.12.2017 aktualisiert um 20:16:16 Uhr
Goto Top
Moin,

was ist denn dein Problem exakt?
Also ich bekomme ohne Probleme Links angezeigt. Aufgrund deines fehlenden Protokolls (http: ) in der <a href='...'> verlinkt der halt nicht sauber...

Was ist denn dein Fehlerbild?

Und zum "Vergeben von Programmierarbeit" für solch trivialen Dinge: Dir entgeht der Lerneffekt dabei face-wink

Gruß
em-pie
Jens4ever
Jens4ever 24.12.2017 um 16:35:40 Uhr
Goto Top
Hi,

das Problem ist, dass ich keinen wirklichen Ansatz habe. Ich stelle mir das so vor: Ich habe den initialen String von dem ich die Hashtags entfernen und wieder aus den Hashtags hinzufügen muss...
Aber wie ich da subtrahiere, weiß ich nicht. Ich habe gegooglet nach php variablen von Text subtrahieren, wurde jedoch nicht fündig. Mir macht PHP viel Spaß, daher baue ich auch die Website. Gern gib mir einen Tipp, wie die Funktion heißt, die mir helfen kann.

Danke vorab und frohen Festtag.

lg
Jens
colinardo
Lösung colinardo 24.12.2017 aktualisiert um 18:10:24 Uhr
Goto Top
Servus Jens,
an Heiligabend können wir ja mal ein Auge zudrücken, oder auch zwei oder drei face-smile.
<?php
$contentText = "Dies ist ein Test ok #sunday #Wasser #xmas";   
$result = preg_match_all('/#([^\s]+)/', $contentText, $matches, PREG_SET_ORDER);  
// Wenn es Ergebnisse gibt dann ...
if($result){
    // für jeden Tag ...
    foreach($matches as $tag){
        // gebe den Tag als Link aus $tag enthält den ganzen Match also mit # und $tag[1] den ersten geklammerten Submatch des Regex also ohne #
        echo '<a href="http://example.com?hashtag=' . urlencode($tag[1]) . '">' .   
$tag . '</a><br />';  
    }
}
?>
HoHoHo ...
Grüße Uwe
Jens4ever
Jens4ever 24.12.2017 um 21:37:11 Uhr
Goto Top
Uwe mein lieber, danke. Wenn du mal nach Hamburg kommst, dann sei sicher, du hast einen Schlafplatz bei mir gut!
Schönen Abend euch noch!
lg
Jensen