Elikkäs olisi tässä sellanen ongelma, että pitäisi saada linkit automaattisesti <a href= -muotoon.
Tässä on sellanen esimerkki koodinpätkä mihin sitä tarvii:
<?PHP $teksti="päläpäläpää... http://jokusivu.com/jotain/joku.php päläpäläpää..."; echo $teksti; ?>
eli tuo http://jokusivu.com/jotain/joku.php pitäis saada muotoon <a href="http://jokusivu.com/jotain/joku.php">http://jokusivu.com/jotain/joku.php</a> ILMAN, että tuota $teksti -juttua tarvitsisi muokata.
Tämmöinen nyt tuli äkkiseltään mieleen. Voi toki olla, että php:stä löytyy kätevämpikin tapa.
joo kiitti! Voi pistää ehdotuksia jos sattuu löytymään parempia, mutta toi on aika hyvä minun tarkoitukseen. :)
No tällainen on yksi vaihtoehto, muuttaa www. linkeiksi.
$teksti = ereg_replace("(^| )(www([.]?[a-zA-Z0-9_/-])*)", "\\1<a href=\"http://\\2\">\\2</a>", $teksti);
Toinen vaihtoehto, muuttaa http:// linkeiksi.
$text = ereg_replace("http://([.]?[a-zA-Z0-9_/-])*", "<a href=\"\\0\">\\0</a>", $text);
Tämä ei siis toimi jos osoite on https://
peg kirjoitti:
Toinen vaihtoehto, muuttaa http:// linkeiksi.
$text = ereg_replace("http://([.]?[a-zA-Z0-9_/-])*", "<a href=\"\\0\">\\0</a>", $text);Tämä ei siis toimi jos osoite on https://
Tässä versio joka toimii myös https:llä (piti vähän puukotella kun en eregistä tiedä):
<?php $text = "höhöhö http://www.lapa.net/"; echo $text = preg_replace("/http[s]?:\/\/([.]?[a-zA-Z0-9_\/-])*/", "<a href=\"$0\">$0</a>", $text); ?>
https toimii myös näin:
$text = ereg_replace("https://([.]?[a-zA-Z0-9_/-])*", "<a href=\"\\0\">\\0</a>", $text);
Yleisen käsityksen ja nopean testailun tuloksena preg on nopeampi (ja tuosta eregin lauseesta puuttuu vaihtoehto mahdollisuus molempien tunnistukseen samalla lauseella).
joo-o noi on vähän parempia mitä minun tekemät! pitää käyttää noita
Toimii vielä paremmin näin
<?PHP $text = "höhöhö https://www.lapa.net/ höhoo http://www.lapa.net/ höhöö www.lapa.net/"; echo $text = preg_replace("/((http(s?):\/\/)|(www\.))(([\w\-\.]+)(\/[^[:space:]]+)*)/i", "<a href=\"http$3://$4$5\" target=\"_blank\">$2$4$5</a>", $text); ?>
näin vähän offtopiccina: hyi. target="_blank" ei oo kiva :(
Aihe on jo aika vanha, joten et voi enää vastata siihen.