Pagina 2 di 2

Re: PHPBB e https

Inviato: mer 4 apr 2012, 14:12
da conraid
modifica anche quelli con il bbcode invece

Re: PHPBB e https

Inviato: mer 4 apr 2012, 14:26
da conraid
se intendevi invece

Codice: Seleziona tutto

https://www.slacky.eu/forum/posting.php?mode=reply&f=3&t=35609
ora va

Re: PHPBB e https

Inviato: mer 4 apr 2012, 14:32
da conraid
ok, se metto però un controllo su href=" funziona tutto, solo che mi viene visualizzato il link assoluto, anche se poi il link è relativo (mi spiego da cani lo so). Va trovato con preg_replace, ok.

Re: PHPBB e https

Inviato: mer 4 apr 2012, 14:44
da conraid
ok, ora c'è preg_replace, c'era uno slash di troppo
però

Codice: Seleziona tutto

preg_replace('/(<a[^>]*href=")https?:\/\/www\.slacky\.eu\/forum\/([^>]*>)/i','$1$2',$message)
e

Codice: Seleziona tutto

$url_slacky = array('href="http://www.slacky.eu/forum/','href="https://www.slacky.eu/forum/');
$message = str_ireplace($url_slacky, 'href="', $message);
danno lo stesso identico risultato.

meno bello esteticamente del primo, cioè di str_ireplace con solo i due url (entrambi mostrano gli url assoluti) ma più utile forse.

Solo che mi domando. A questo punto non è meglio str_ireplace? non consuma meno risorse di fare una regex? o impiegano lo stesso tempo?

Re: PHPBB e https

Inviato: mer 4 apr 2012, 15:32
da ZeroUno
conraid ha scritto:

Codice: Seleziona tutto

preg_replace('/(<a[^>]*href=")https?:\/\/www\.slacky\.eu\/forum\/([^>]*>)/i','$1$2',$message)
e

Codice: Seleziona tutto

$url_slacky = array('href="http://www.slacky.eu/forum/','href="https://www.slacky.eu/forum/');
$message = str_ireplace($url_slacky, 'href="', $message);
danno lo stesso identico risultato.
Per così poco il consumo non è molto più alto, comunque non hanno lo stesso risultato.

la preg_replace sostituisce
<a href=....
o
<a class=".." href=...

mentre l'altro sostituisce tutto.

ergo str_ireplace agisce anche dentro [ code ] o se scrivo manualmente (e volutamente) <a href=..., l'altro no perchè se dentro [ code ] scrivo <a href lui lo trasforma in <a href=" e quindi non matcha la regex


faccio una prova:

Codice: Seleziona tutto

<a href="https://www.slacky.eu/forum/viewtopic.php">https://www.slacky.eu/forum/viewtopic.php</a>
html risultante (da view page source in 'anteprima')

Codice: Seleziona tutto

<a href="https://www.slacky.eu/forum/viewtopic.php">https://www.slacky.eu/forum/viewtopic.php</a>

Re: PHPBB e https

Inviato: mer 4 apr 2012, 15:43
da conraid
ok, ora comunque c'è la preg_replace

Re: PHPBB e https

Inviato: sab 5 mag 2012, 20:39
da ZeroUno
Mi sono accorto che la correzione viene effettuata solo su www.slacky.eu, ma mi sa che qualcuno usa https://slacky.eu/forum e quì la correzione non viene fatta:
in viewtopic.php?f=1&t=35736#p318737 spina scrive

https :// slacky.eu/forum/viewtopic.php?f=1&t=35737

che non avendo il www non matcha la regex.
Quindi:
1) tiriamo le orecchie a Emanuele ;-)
2) ce ne infischiamo
3) modifichiamo la regex da 'www\.slacky\.eu' a '(www\.)?slacky\.eu' e $2 in $3

Re: PHPBB e https

Inviato: sab 5 mag 2012, 21:20
da conraid
ZeroUno ha scritto: 1) tiriamo le orecchie a Emanuele ;-)
2) ce ne infischiamo
3) modifichiamo la regex da 'www\.slacky\.eu' a '(www\.)?slacky\.eu' e $2 in $3
fatto la 3, e direi di fare anche la 1 :-)
dimmi se va bene

Re: PHPBB e https

Inviato: dom 6 mag 2012, 0:39
da ZeroUno
ok, sembra funzionare.
Per la 1 direi che finchè il dns lo permette non possiamo fare nulla ;-) (e direi che va bene così.. odio quando scrivo i nomi dei siti senza www e questi mi rispondono che non esistono).

Re: PHPBB e https

Inviato: dom 6 mag 2012, 1:07
da targzeta
Ehm, io non sono d'accordo con la 1 :)

Emanuele

Re: PHPBB e https

Inviato: dom 6 mag 2012, 11:34
da conraid
ZeroUno ha scritto:ok, sembra funzionare.
Per la 1 direi che finchè il dns lo permette non possiamo fare nulla ;-) (e direi che va bene così.. odio quando scrivo i nomi dei siti senza www e questi mi rispondono che non esistono).
anhe io, e purtroppo anche grandi provider con cui ho a che fare di default lasciano solo con il www e per fartelo cambiare una trafila che ti passa la voglia.