Jump to content
php.lv forumi

preg_replace make url


Aleksandrs

Recommended Posts

Vai ar preg_replace() var uztaisīt un ja var, tad kā, adreses atpazīšanu ar nosacījumiem:

1. Jāsākas ar "http://", "www." vai ar abiem.

2. Ja sākās ar "http://", tad to atmet nost.

3. Atdalīt adreses beigu daļu no domēna. (Piemēram: http://php.lv/f/index.php?act=post&do=new_post&f=11 Varētu saīsināt uz: http://php.lv/ )

 

Tagad man ir tāds kods:

preg_replace("/(http:\/\/)?(www\.)?([^\s]*)(\.[a-z]{2,6})([^\s]*)/i", '<a href="http://$2$3$4$5">$2$3$4$5</a>', '');

Problēma ir ar pirmo nosacījumu. Kā varētu uztaisīt, lai ir vai nu viens, otrs vai abi. Tagad ir, ka viens, otrs vai neviens.

Trešais nosacījums ir sarežģīts, pašlaik tas strādā ~60% adrešu. Kā varētu uztaisīt, lai tas darbojas kā augstāk minētajā piemērā?

Ir ieteikumi kā to realizēt? Varbūt var optimizēt pašreizējos nosacījumus?

Paldies jau iepriekš!

Link to comment
Share on other sites

×
×
  • Create New...