Jump to content
php.lv forumi

Str_replace()


deo

Recommended Posts

Kads var paskaidrot ka darbojas shis funkcijas:

 

$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href="\0">\0</a>", $text);

 

skaidrs ka funkcija ereg_replace nomaini vienu txt pret ortu, sheit ta nomaina parastu txt http://www.links.lv uz txt ar linku uz lappusi http://www.links.lv, es vienigi nesaprotu tos sarezgjitos simbolu salikumus, ari php biibele nevar atrast skaidrojumu... :huh:

 

Vinsh nekorekti parada to funkciju pilniba, bet princips ir skaidrs.

Link to comment
Share on other sites

thx! ;) tiesi tas kas vajadzigs, bus tikai nedaudz japalasa un jaiebrauc taja visaa, lieliska lasamviela pirms gulet ieshanas. :D

 

ok, palasishu to manuali, bet konkreti shaja piemera, var kads paskaidrot, kada ir katra simbola vajadziiba? :huh:

Link to comment
Share on other sites

Tu rakstīji:

 

$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=""></a>", $text);

 

Es atbildu:

 

Tas ir līks veids kā no http://www.zilupe.com uztaisīt <a href="http://www.zilupe.com">http://www.zilupe.com</a>. Līks tāpēc, ka no pavilosta://jaulielupe.ru tiks izveidots <a href="pavilosta://jaulielupe.ru">pavilosta://jaulielupe.ru</a>... ai bet ne tāds bija jautājums ...

 

[[:alpha:]] nozīmē, ka stringam jāsatur burts (mazs, liels) un tikai

 

[[:alpha:]]+ nozīmē, ka stringam jāsatur viens vai vairāk burti (mazi, lieli ) un tikai

 

:// nozīmē, ka stringam jāsatur ://

 

( atkāpe: vai / nav jāeskeipo ar backslash? )

 

[^a] nozīmē, ka strings satur kaut ko, kas nav burts.

 

tavu pilno [^ ... ] nevar paskaidrot, jo tur trūkst simbolu

 

[[:alnum:]] apraksta visus burtus un ciparus

 

[[:space:]] apraksta visas atstarpes/tabulators/jaunā rindā pārcēlājus

 

man šķiet, ka diskusija par regexpiem te (šajā forumā) nevar izdoties, jo tavā piemērā trūkst daži simboli, ne?

Link to comment
Share on other sites

Nu, tik daudz cik izstastiji, tik ari sapratu. Protams, sanak vinsh liks, sakuma shi [[:alpha:]]+ ir ielikta, lai vinsh mainitu ne tikai http, bet arii ftp, e2k utt. Kaa, tada gadijuma, man japarveido funkcija lai vinsh maina shos, bet iznjemot neatbilstoshos (t.i. "liiks://links.lv")?

 

Starpcitu, sheit ir ari pilna funkcija: http://paste.php.lv/261

Link to comment
Share on other sites

×
×
  • Create New...