Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z emotami i wyrażeniami regularnymi
covall
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 9.03.2004
Skąd: Stalowa Wola

Ostrzeżenie: (0%)
-----


Witam. Potrzebuję napisać funkcję, która będzie wykonywać dane fukcje na ciągu:

- nie pozwalała, aby dwie emotikony były obok siebie, np smile.gif smile.gif
- skracała emotikony, jak ktoś napisze np. '::: DDDDDD', żeby zamieniało na ':D'
- zamieniała słowa zaczynające się na http:// lub www na aktywne linki

Już zacząłem pisać funkcję, rozbija ona ciąg na słowa. O ile zamiana linków na aktywne to pestka, to już przy operacjach na emotach zaczyna się wszystko sypać. Oto kod

  1. <?php
  2.  
  3. function convert_txt($txt) {
  4. $slowa = explode(' ', $txt);
  5. $i = 0;
  6. foreach($slowa as $slowo) {
  7. $i++;
  8. $slowo = trim($slowo);
  9. if(ereg('^http://(.)+', $slowo))
  10. @$tekst .= '<img src="img/www.gif" alt="www" /> <strong><a href="'.$slowo.'" target="_blank">www</a></strong> ';
  11. elseif(ereg('^www(.)+', $slowo))
  12. @$tekst .= '<img src="img/www.gif" alt="www" /> <strong><a href="http://'.$slowo.'" target="_blank">www</a></strong> ';
  13. elseif(ereg('[:;x]+', $slowo) && ereg('[)(]', $slowa[$i]))
  14. @$tekst .= substr($slowo, 0, 1).substr($slowa[$i], 0, 1);
  15.  elseif(ereg('[a-zA-Z]+', $slowo))
  16. @$tekst .= $slowo.' ';
  17. }
  18. return $tekst;
  19. }
  20.  
  21. $tekst = "Otłąo moja strona domowa <a href="http://forum.php.pl" target="_blank">http://forum.php.pl</a> ::: [[[[";
  22.  
  23. echo convert_txt($tekst);
  24.  
  25. ?>


Chyba nie tędy droga.. Proszę o pomoc.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 03:29