| Autor | Zpráva | ||
|---|---|---|---|
| milbr Profil * |
#1 · Zasláno: 24. 10. 2009, 10:24:49
Pěkný den,
chtěl bych vás poprosit, je možné když do textu dám http://www.... aby byl odkaz v prohlížeči kliknutelný? Nějakým způsobem v PHP doplnit a Moc děkuji Milan |
||
| Radek9 Profil |
#2 · Zasláno: 24. 10. 2009, 10:26:25 · Upravil/a: Radek9
$text = preg_replace("/(http[s]?:\/\/[^<> \n]+?)/i", '<a href="\\1" target="_blank">\\1</a>', $text); |
||
| milbr Profil * |
#3 · Zasláno: 24. 10. 2009, 10:31:31
Moc díky za rychlou pomoc a pěknej víkend
|
||
| milbr Profil * |
#4 · Zasláno: 24. 10. 2009, 10:41:30
Radek9:
Tak jsem to vyzkoušel ale je kliknutelné např z http://www.neco....cz pouze htt://w Ještě jednou díky Milan |
||
| Radek9 Profil |
#5 · Zasláno: 24. 10. 2009, 10:47:45
milbr:
No to nevím co s tím máte. Já když jsem to zkoušel,tak to pouze htt:// nebralo. |
||
| milbr Profil * |
#6 · Zasláno: 24. 10. 2009, 10:51:54
Radek9:
Část kódu vypadá takto:
{
while ($data_left=MySQL_Fetch_Array($obsah_left)):
$textleft = nl2br($data_left['text']);
$text_info = preg_replace("/(http[s]?:\/\/[^<> \n]+?)/i", '<a href="\\1" target="_blank">\\1</a>', $textleft);
echo "
<p style=\"margin-bottom: 18px;\">
<strong>".$data_left['textnadpis']."</strong>
$text_info
</p>
";
endwhile;
};
|
||
| Slim12 Profil * |
#7 · Zasláno: 24. 10. 2009, 11:49:47
Když znate php tak proč pomoci regularnich výrazu nenapišete to co potrebujete.
|
||
| AM_ Profil |
#8 · Zasláno: 24. 10. 2009, 13:42:23
Slim12:
děkujeme za hodnotný příspěvek, ale tazatel je zřejmě tak dobře nezná. $text = preg_replace('~([a-z0-9]+://[^\s]+)~i', '<a href="\\1" target="_blank">\\1</a>', $text);takto by to fungovat mohlo, Radek9: tohle ti v životě nemohlo běhat, zbytečně si komplikuješ život použitím / jako delimiter, nevím, co dělal ten ungreedy kvantifikátor +? na konci, rozepisovat jen některé bílé znaky je také zbytečné. Takto je to navíc univerzální i na další protokoly (ftp, atd...). Další zbytečná komplikace je použití " místo ', pak se ve výrazu musí víc escapovat a je to nepřehledné. Jde si s tím hrát různě, můžeš detekovat i odkazy bez protokolu začínající www., můžeš víc promakat, čím odkaz končí atd... stačí na webu hledat regulární výrazy pro odkaz. |
||
| milbr Profil * |
#9 · Zasláno: 24. 10. 2009, 22:38:32
AM:
Tak to je paráda, funguje to a moc děkuji. Máte pravdu že regulární výrazy moc neznám, (téměř vůbec), mohl by jste mi stručně vysvětlit tuto část kódu? (co jednotlivé znaky mají za funkci) ~([a-z0-9]+://[^\s]+)~i Možná by to mohlo být přínosem i pro další méně zkušený. Ještě jednou moc dík Milan |
||
|
Časová prodleva: 16 let
|
|||
0