Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Muutos linkeiksi

pistemies [31.05.2007 11:34:02]

#

Tähän kaipaisin pikkumuutosta, mutta miten sen toteuttaisin, niin että saa toimimaan.

Tilannne on tässä nyt sellainen, että tämä putkasta löytämäni skripti vaatii välilyönnin tuohon linkin eteen. Ei siis toimi, jos linkki sattuukin olemaan aivan rivin alussa. Miten saisi muutettua niin, että tuo välilyönti ei olisi pakollinen?

   $lauseke = "/(\s|^)"; // siis tämä
   $lauseke .= "(http:\/\/|www\.)";
   $lauseke .= "([\w\.\/\-_?=&@%~]+)";
   $lauseke .= "(\s|$)/i";

   $muutettu = preg_replace($lauseke, "$1<a href=\"$2$3\" target=\"_blank\">$2$3</a>$4", $teksti);
   $muutettu = str_replace("href=\"www.", "href=\"http://www.", $muutettu);

Blaze [31.05.2007 12:52:39]

#

Pekka Mansikka kirjoitti:

tämä putkasta löytämäni skripti vaatii välilyönnin tuohon linkin eteen. Ei siis toimi, jos linkki sattuukin olemaan aivan rivin alussa.

Ei vaadi välilyöntiä, vaan whitespace-merkin, joihin kuuluu myös se rivinvaihtomerkki. Tuon siis pitäis toimia ihan tuollaisenaan.

Pekka Mansikka kirjoitti:

Miten saisi muutettua niin, että tuo välilyönti ( $lauseke = "/(\s|^)";) ei olisi pakollinen?

Tämä nyt joka tapauksessa tehään laittamalla asteriski tuonne loppuun: "/(\s|^)*";

pistemies [31.05.2007 17:08:46]

#

Mutta kun ei toiminut, jos linkki on ihan rivin alussa. Johtunee varmaan siitä, että rivinvaihtomerkit on tulostuksessa muutettu br-tageiksi.
Mutta kiitos, tuon muutoksen myötä toimii.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta