Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyrażenia regularne, link gg://numer
mayhen
post 16.05.2004, 19:46:43
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.07.2003
Skąd: Tbg

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


piszę coś ala bbcode na potrzeby mojej strony, i w potrzebuję rady:

jak poprawnie napisac komendy w preg_replace zamienić tekst w postaci
gg12345678 na gg://12345678 a wyswietlic np. sam napis gg, albo ikonke jako link umożliwiając tym samym bezpośrednią rozmowę przy zainstalowanym gg ?

do czego doszedłem:
[php:1:75743c510b]<?php
$content = preg_replace("#([trn ])(gg)([0-9])*$#i", '1 <a href="gg://"> ikonka</a>', $content);

?>[/php:1:75743c510b]


--------------------
code...
Go to the top of the page
+Quote Post
Aiker
post 16.05.2004, 21:27:12
Post #2





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 9.09.2003
Skąd: K-ce

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


Ja bym proponowal ten bbcode gg zrobic w postaci np [gg:12345].
Tutaj podaje odpowiednie wyrazenie:
[php:1:fca5ce836b]<?php
$content = preg_replace("#[gg:(.+)]#U", '<a href="gg:1">1</a> ', $content);
?>[/php:1:fca5ce836b]

Oto chodzilo ? biggrin.gif


--------------------
GG: 4985254 ICQ: 349-850-679
Warsztat : Apache 2|MySQL 5|php 5.1|
Go to the top of the page
+Quote Post
Bora
post 17.05.2004, 09:29:56
Post #3





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

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


[php:1:5dc3f29189]<?php
$content = preg_replace("#[gg:([0-9]{1,9})]#U", '<a href="gg:1">1</a> ', $content);
?>[/php:1:5dc3f29189]

tylko cyfry
Go to the top of the page
+Quote Post
psmoczynski
post 17.05.2004, 12:21:08
Post #4





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 17.03.2004
Skąd: warszawa

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


a ja zrobiłbym to inaczej:

[php:1:36e937139c]<?php

$moj_numer = "gg12456";
$moj_nowy_numer = "gg://".substr($moj_numer,3,strlen($moj_numer));


?>[/php:1:36e937139c]


--------------------
SMOK
Go to the top of the page
+Quote Post
scanner
post 17.05.2004, 12:28:39
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
[php:1:ba9244e1bf]<?php
$moj_numer = gg12456;
?>[/php:1:ba9244e1bf]
Ale tu jest błąd.
Jeśli gg12456 ma być stringiem, to powinno być zapisane jako 'gg12456'
W chwili obecnej jest to stała, której użycie wygeneruje Warning (undefined constant) i potraktowanie jej nazy jako stringa (+ odpowiednie Notice). Efekt może i ok, ale wykorzystałeś tutaj błąd php, który gdy zostanie kiedys poprawiony, spowoduje, że Twój kod klęknie.

Pozatym jak wyłuskasz twoje GG ze stringa:[php:1:ba9244e1bf]<?php
$strString = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur quis orci in elit tincidunt blandit. Suspendisse vulputate nunc ac mi. Quisque in orci imperdiet velit bibendum gg12456 imperdiet."
?>[/php:1:ba9244e1bf]A takie strongi autor chce opracowywać (rozszerzenie BBCode)


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
cboot
post 17.05.2004, 12:29:41
Post #6





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 2.02.2004

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


@psmoczynski
Ale Twój kod nie rozwiązuje wcale problemu. Przeczytaj o co chodziło mayhenowi. Jak Twój kod ma znaleźć w zmiennej $content ciągi: gg12345678 i zamienić je na gg://12345678 ?
Tak więc pozostańmy przy preg_replace.
Go to the top of the page
+Quote Post
psmoczynski
post 17.05.2004, 12:39:33
Post #7





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 17.03.2004
Skąd: warszawa

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


tak!! rzeczywiście zabrakło ciapków !!

mayhen:
jak poprawnie napisac komendy w preg_replace zamienić tekst w postaci
gg12345678 na gg://12345678 a wyswietlic np. sam napis gg


Mój kod zamieni gg12345678 na gg://12345678, a co dalej z tym zrobisz (co wyświetlisz) to już chyba nie jest problem. Ale może coś źle rozumiem.


--------------------
SMOK
Go to the top of the page
+Quote Post
cboot
post 17.05.2004, 12:49:01
Post #8





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 2.02.2004

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


Zwróć uwagę na pierwsze zdanie.
Cytat
piszę coś ala bbcode na potrzeby mojej strony, i w potrzebuję rady:

Tak więc $content to przypuśćmy treść posta na jakimś forum wpisana przez użytkownika. Mayhen chce w niej zastępować wpisy gg12345678 na linki po prostu. Twój kod zamienia treść zmiennej w której jest tylko numer gg na inną, a jak ma to wyszukiwać te numery w zmiennej $content ? Nie zastąpisz działania preg_replace tym kodem, co napisałeś :wink:
Go to the top of the page
+Quote Post
psmoczynski
post 17.05.2004, 12:55:11
Post #9





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 17.03.2004
Skąd: warszawa

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


Masz rację winksmiley.jpg


--------------------
SMOK
Go to the top of the page
+Quote Post
tsharek
post 19.05.2004, 15:48:39
Post #10





Grupa: Zarejestrowani
Postów: 300
Pomógł: 1
Dołączył: 22.09.2003
Skąd: Czeladź

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


Cytat
a ja zrobiłbym to inaczej:

[php:1:cb628a4721]<?php

$moj_numer = "gg12456";
$moj_nowy_numer = "gg://".substr($moj_numer,3,strlen($moj_numer));


?>[/php:1:cb628a4721]


btw: po co to strlen?

[php:1:cb628a4721]<?php

$moj_numer = "gg12456";
$moj_nowy_numer = "gg://".substr($moj_numer,3);


?>[/php:1:cb628a4721]
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.06.2025 - 13:06