Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

PHP: Links linkbar machen?

Andi_H - 40
Profi (offline)

Dabei seit 10.2002
760 Beiträge

Geschrieben am: 23.07.2005 um 21:29 Uhr
Zuletzt editiert am: 24.07.2005 um 17:46 Uhr

Moin,
hätte mal ne Frage an die PHPler...

Ich habe hier Einträge in einer Datenbank die ausgegeben werden.
In den Einträgen sind auch Links vorhanden wie z.B. "http://www.team-ulm.de/f_write.php?topicid=1725&cmd=newtopi"c oder so.

Nun würde ich gerne den text vor der Ausgabe nach solchen Links durchsuchen lassen und vor den Link ein "< a href=" setzen usw.

Ne Idee wie ich das realisiere?

chenquieh!

deathworm
Team-Ulmler (offline)


Dabei seit 01.2005
1412 Beiträge

Geschrieben am: 24.07.2005 um 05:20 Uhr
Zuletzt editiert am: 24.07.2005 um 05:24 Uhr

hiya

hab sowas aehnliches wenn man halt was hochlaedt und der name is bereits vorhanden, poste ich dir mal in abgeaenderter form; evtl hilft dir dieser syn:

-php anfang-
$ziel = ""; // Zielverzeichnis
if($file != "*team-ulm.de*") {
function random($name_laenge) {
$zeichen =
"abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ0123456789";
$name_neu = "spezifischername";
mt_srand ((double) microtime() * 1000000);
for ($i = 0; $i < $name_laenge; $i++) {
$name_neu .= $zeichen{mt_rand (0,strlen($zeichen))};
}
return $name_neu;
}
$ziel .= random("20") . $datei_ende;
-php ende-

bye
sasha

if ( $ahnung == 'keine' ) { lies ( FAQ ) && ( Suche ) } else { post->frage }

Andi_H - 40
Profi (offline)

Dabei seit 10.2002
760 Beiträge

Geschrieben am: 24.07.2005 um 17:50 Uhr

mhm, hilft nicht wirklich weiter, aber danke.

Ich hab mich etwas falsch ausgedrückt:
Also stings ersetzen geht ja, für http:// wird dann einfach < a href="http:// ersetzt.
Nur wie bekomme ich die tags wieder geschlossen?
Da der Link-Name ja jedesmal ein anderer ist kann ich das nicht ersetzten.

Sollte dann ne Funktion werden die den Text auf das erste Lehrzeichen nach dem http:// durchsucht und daraus nen linkbaren Link macht.



chenquieh!

kona - 37
Experte (offline)

Dabei seit 12.2004
1146 Beiträge

Geschrieben am: 24.07.2005 um 17:55 Uhr

naja, ich glaub ich habs au falsch verstanden!
aber wenn du nur die http:///sölfdjasöd.de in einer zelle hast dann kannst die ja so auslesen und dann dazu des "

En Comhrac án Cèart

Andi_H - 40
Profi (offline)

Dabei seit 10.2002
760 Beiträge

Geschrieben am: 24.07.2005 um 18:11 Uhr

ja, das wäre wohl weniger das Problem.
Aber in den Zelle befindet sich Text der auch webadressen + normal-text enthält.

Mit preg_replace() wäre ne Lösung möglich aber ich steig da nicht durch, keine Ahnung was die Funktion wie was macht...

chenquieh!

TheRaven - 39
Profi (offline)

Dabei seit 10.2003
551 Beiträge
Geschrieben am: 24.07.2005 um 18:15 Uhr
Zuletzt editiert am: 24.07.2005 um 18:15 Uhr

du könntest per regular expression auf das ende des strings gehen und da das
tag schliessen, oder einfach das nächste leerzeichen durch den tag & das
leerzeichen wieder ersetzen.
Andi_H - 40
Profi (offline)

Dabei seit 10.2002
760 Beiträge

Geschrieben am: 25.07.2005 um 00:57 Uhr
Zuletzt editiert am: 25.07.2005 um 00:57 Uhr

je ne is klar ;-)
genau das will ich ja tun nur WIE?

Der Weg ist klar, nur an der Umsetzung happerts

chenquieh!

TheRaven - 39
Profi (offline)

Dabei seit 10.2003
551 Beiträge
Geschrieben am: 25.07.2005 um 08:40 Uhr

ich weiss ned ob das in PHP geht, aber einfach zeichen für zeichen durch den string gehen und nach nem leerzeichen ausschau halten und das dann eben ersetzen, das sollte doch sicher irgendwie möglich sein.
RiSK - 40
Anfänger (offline)

Dabei seit 08.2003
19 Beiträge
Geschrieben am: 25.07.2005 um 11:08 Uhr
Zuletzt editiert am: 25.07.2005 um 11:19 Uhr

Habe mal folgendes zusammengeschrieben...
Ist nur zum veranschaulichen von ein paar nützlichen Funktionen für solch ein Vorhaben.
Außerdem ersetzt dieser Code nur den ersten Link in einem Text. Falls mehrere Links enthalten sind einfach ne schleife bauen, welche die gesamtlänge des Inputs immer wieder mit der Länge der $rest variable überprüft und bei Bedarf eben abbricht.

Zitat:



//Soweit sollte Input bereits bearbeitet sein
$input = 'text text text &lt;a href="http://www.test.de text text text ';

//Startposition der Link URL feststellen
$start = strpos($input, 'http://');

//Ersten Teil der URL
$anfang = substr($input, 0, $start);

//Rest der URL
$rest = substr($input, $start);

//Erstes Leerzeichen finden im Rest
$erstes_leerzeichen_in_rest = strpos($rest, ' ');

//Zusammenstellung des Bearbeiteten Inputs
$final = $anfang . substr($rest, 0, $erstes_leerzeichen_in_rest) . '&gt;Link&lt;/a&gt; '. substr($rest, $erstes_leerzeichen_in_rest);

//Ausgabe
echo($final);



www.php.net, da mal bisschen nachlesen

P.S.: man is das ne scheiß arbeit hier bisschen code zu posten der auch richtig dargestellt wird ;)
moos-girl - 29
Halbprofi (offline)

Dabei seit 06.2008
157 Beiträge

Geschrieben am: 22.01.2009 um 18:31 Uhr

[link= Name ] Addresse " target="_blank">Das ist ein Link

You can run, you can hide, but you can't escape!

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -