• Home
  • Forum
  • Fare Web
  • PHP

Caratteri jolly in php

  • Creatore Discussione Creatore Discussione Sark
  • Data di inizio Data di inizio 9 Set 2007
S

Sark

Nuovo Utente
9 Set 2007
6
0
0
  • 9 Set 2007
  • #1
scusate sono niubbi in php, ho cercato qui nel forum ma la mia domanda forse è troppo banale, spero possiate aiutarmi.

ho un file php che contiene la seguente IF:

Codice:
if ((selfURL() == "http://www.pippo.it/?p=1")) {
  echo "ciao";
}

in questo modo se la url che ho aperto nel browser è uguale a: http://www.pippo.it/?p=1

allora compare la scritta ciao.

è possibile usare al posto dell'1 un carattere jolly?

io vorrei applicare la IF a tutte le pagine che cominciano con http://www.pippo.it/?p= e che finiscono con 1,2,3...ecc...

per cui immagino una istruzione del tipo http://www.pippo.it/?p=*

scusate la domanda ma come ho detto non so fare in php.
grazie dell'aiuto.
ciao
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
  • 10 Set 2007
  • #2
Prova tu stesso:
PHP:
$url= selfURL();
if (($url == "http://www.pippo.it/?p=*")) {
  echo "ciao";
}
 
S

Sark

Nuovo Utente
9 Set 2007
6
0
0
  • 10 Set 2007
  • #3
Ciao Eliox,
ho gia provato ad usare l'* e non funziona.

il problema non è associare il risultato della funzione selfURL() ad una variabile o meno.

il fatto è che non posso usare l'* come carattere jolly
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
  • 11 Set 2007
  • #4
La variabile serviva solo per l'esempio; probabilmente ci sono soluzioni più semplici ma al momento ho pensato di fare così:
PHP:
<?php
//ricaviamo la variabile dall'url
$pos = explode("=", selfURL());

//controlliamo se la variabile e numerica
if(is_numeric($pos[1]))
{
echo 'ciao';
}
?>
Potrebbe andare?
 
S

Sark

Nuovo Utente
9 Set 2007
6
0
0
  • 12 Set 2007
  • #5
ciao eliox, le tue info mi sono utili. provo a descriverti meglio cosa vorrei fare, magari con i tuoi consigli combino qualcosa di buono.

in pratica io vorrei scrivere del codice html (molto banale, si tratta di un menu di navigazione per il mio sito).

diciamo che il codice ha 5 porzioni di html al suo interno e io ho 5 pagine in tutto nel sito

questo codice vorrei importarlo in ognuna delle pagine del sito e vorrei che, a seconda della pagina aperta dal visitatore, apparisse il pezzo di codice corrispondente a quella pagina.

siccome una delle 5 pagine (il blog) usa non solo la index.php, ma anche suoi derivati come index.php?=1, index.php?=2, index.php?=abc ....ecc...vorrei appunto trovare il modo di "dire" al codice: "ignora quello che hai dopo il ?, in quanto se trovi index.php? allora sei sempre nella pagina del blog."

ho pensato quindi di usare dei caratteri jolly ma non ho avuto molta fortuna. al momento ho risolto con la funzione substr. in questo modo faccio contare alla funzione tot caratteri partendo dall'inizio e se il risultato è uguale alla variabile X allora gli faccio fare certe cose, altrimenti delle altre.
così funziona, solo che devo impostare piu variabili in quanto se uso il sito in locale la scritta:
http://[B]localhost[/B]/miosito.it/index.php?=1
è piu lunga della scritta
http://[B]www[/B].miosito.it/index.php?=1

spero di aver descritto bene la mia esigenza e che tu possa aiutarmi in qualche modo.

ciao, grazie
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
  • 12 Set 2007
  • #6
Mi posti il codice che usi adesso?
 
S

Sark

Nuovo Utente
9 Set 2007
6
0
0
  • 12 Set 2007
  • #7
certo, lo semplifico a 2 pagine, la sezione blog e la sezione contattami
<?php

// stabilisco quale sia la url attualmente visualizzata dall'utente
function selfURL() {
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];
}
function strleft($s1, $s2) {
return substr($s1, 0, strpos($s1, $s2));
}

// assegno la url trovata alla variabile
$ws_current_url= selfURL();

// calcolo X numero di caratteri a partire dall'inizio della URL e assegno un valore di 38 caratteri per la url locale e 30 per quella online, es: http://www.sito.it è uguale a 18 caratteri
$wslocale_localhost = substr($ws_current_url, 0, 36);
$wsremoto = substr($ws_current_url, 0, 30);

// eseguo la IF, se la stringa di tot caratteri è uguale alla url visualizzata dall'utente allora eseguo il codice
if (($wslocale_localhost == "http://localhost/uniposca2.it/blog/?") OR ($wsremoto == "http://www/uniposca2.it/blog/?")) {
echo"<div id=\"navigation\">";
echo"<ul>";
echo"<li><a href=\"$wspath/home/\">Home</a></li>";
echo"<li><a href=\"#\">Guestbook</a></li>";
echo"<li class=\"selected\"><a href=\"#\">Blog</a></li>";
echo"<li><a href=\"$wspath/contattami/\">Contattami</a></li>";
echo"<li><a href=\"#\">Feeds</a></li>";
echo"<li><a href=\"#\">?</a></li>";
echo"<li id=\"signout\"><a href=\"#\">Registrati</a></li>";
echo"</ul>";
echo"</div>";
}
//per la pagina contattami non ho problema perchè uso sempre il file index.php e posso compararlo direttamente. ho solo fatto 2 ipotesi, una in cui l'utente sia nella url standard www.sito.it/contattami/ e uno con la url completa www.sito.it/contattami/index.php
elseif (($ws_current_url == $wspath."/contattami/") OR ($ws_current_url == $wspath."/contattami/index.php")) {
echo"<div id=\"navigation\">";
echo"<ul>";
echo"<li><a href=\"$wspath/home/\">Home</a></li>";
echo"<li><a href=\"#\">Guestbook</a></li>";
echo"<li><a href=\"#\">Blog</a></li>";
echo"<li class=\"selected\"><a href=\"$wspath/contattami/\">Contattami</a></li>";
echo"<li><a href=\"#\">Feeds</a></li>";
echo"<li><a href=\"#\">?</a></li>";
echo"<li id=\"signout\"><a href=\"#\">Registrati</a></li>";
echo"</ul>";
echo"</div>";
}

?>
Clicca per allargare...

come vedi se apro la pagina del blog allora c'è il selected nella riga che righiama il tasto blog altrimenti se apro la pagina contattami allora il select è nel tasto contattami

ciao
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
  • 13 Set 2007
  • #8
Perchè non effettui un semplice controllo sul valore associato a selfURL() con strpos,
se cè "http://www.pippo.it/?p=" va bene, diversamente lo escludi.

Poi puoi effettuare un controllo sulla varibile finale della query string col codice che ti ho proposto.
 
S

Sark

Nuovo Utente
9 Set 2007
6
0
0
  • 13 Set 2007
  • #9
non so come applicare la funzione al mio caso, puoi farmi un esempio del codice che dovrei scrivere?

considera che ho i 2 casi, uno del sito in locale e uno del sito remoto, per cui la lunghezza della stringa URL non ha la stessa lunghezza.

http://localhost/pippo.it/?=

http://www.pippo.it/?=

ciao, grazie

PS = non c'è una funzione che restituisce un valore TRUE/FALSE (se trova la corrispondenza) invece che la posizione della prima occorrenza?
 
S

Sark

Nuovo Utente
9 Set 2007
6
0
0
  • 13 Set 2007
  • #10
eliox ho fatto questa prova:

PHP:
$ws_current_url= selfURL(); 

//se trovo la scritta "blog/?" all'interno della url eseguo il codice
if (stristr($ws_current_url, 'blog/?') !== FALSE) { 
  echo "evidenzia il tasto BLOG";
}

//se trovo la scritta "contattami" all'interno della url eseguo il codice
elseif (stristr($ws_current_url, 'contattami') !== FALSE) {
  echo "evidenzia il tasto CONTATTAMI";
}

mi sembra che funzioni per il mio caso. Ho semplificato il codice a poche righe.

cosa ne dici?
ciao
 
Ultima modifica: 13 Set 2007

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
  • 14 Set 2007
  • #11
Direi che si potrebbe semplificare ulteriormente:

PHP:
<?php
$ws_current_url= selfURL();
$urls= array('blog', 'contattami');
foreach ($urls as $url)
{
  if (stristr($ws_current_url, $url) !== FALSE) {
  echo "evidenzia il tasto " . strtoupper($url);
  }
}  
?>

Così dovrai solo popolare l'array e non ti servirà aggiungere un if - else per ogni caso.
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

N
[risolto] array_key_exists e caratteri Jolly
  • natan81
  • 27 Feb 2014
  • PHP
Risposte
2
Visite
1K
PHP 28 Feb 2014
natan81
N
Caratteri jolly ed array
  • Monital
  • 10 Feb 2012
  • PHP
Risposte
4
Visite
2K
PHP 12 Feb 2012
Monital
F
Caratteri invisibili
  • fabzyr
  • 17 Mag 2023
  • XML
Risposte
5
Visite
3K
XML 1 Apr 2025
biakdigitals
B
K
[PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa
  • Kiko74b
  • 16 Mar 2023
  • PHP
Risposte
2
Visite
2K
PHP 18 Mar 2023
Kiko74b
K
B
Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365)
  • Beppe56RM
  • 23 Gen 2023
  • MS Access
Risposte
0
Visite
855
MS Access 23 Gen 2023
Beppe56RM
B
P
Codifica caratteri speciali mysql php
  • Peterrey76
  • 24 Ott 2022
  • PHP
Risposte
2
Visite
2K
PHP 23 Apr 2025
webest
Z
Caratteri speciali irriconoscibili
  • z.cristiano
  • 5 Nov 2021
  • PHP
Risposte
1
Visite
1K
PHP 8 Nov 2021
Gabriele_04
G
R
Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql
  • rob466
  • 27 Mar 2021
  • MySQL
Risposte
1
Visite
1K
MySQL 30 Mar 2021
rob466
R
A
eliminare caratteri speciali mettendo uno spazio
  • AndreaCerre
  • 5 Ago 2020
  • PHP
Risposte
0
Visite
1K
PHP 5 Ago 2020
AndreaCerre
A
A
eliminare caratteri diacritici con codice ascii
  • AndreaCerre
  • 27 Lug 2020
  • PHP
Risposte
4
Visite
2K
PHP 27 Lug 2020
AndreaCerre
A
Eliminare in automatico i caratteri spuri all'inizio e alla fine di una stringa
  • MarcoGrazia
  • 24 Lug 2020
  • Snippet PHP
Risposte
0
Visite
5K
Snippet PHP 24 Lug 2020
MarcoGrazia
K
[javascript] Tecnica per rilevare celle contenenti caratteri ricevute in dinamico
  • Knai
  • 19 Set 2019
  • Javascript
Risposte
1
Visite
1K
Javascript 22 Set 2019
macus_adi
M
Matrice di caratteri ( inseriti da tastiera ) ordinati in ordine alfabetico
  • MegaMind
  • 12 Mag 2019
  • C/C++
Risposte
3
Visite
2K
C/C++ 3 Giu 2020
NoNameoN
M
[PHP] Troncare caratteri
  • Marcolino92
  • 10 Apr 2019
  • PHP
Risposte
1
Visite
1K
PHP 11 Apr 2019
marino51
A
[PHP] caratteri speciali
  • avatar
  • 24 Nov 2018
  • PHP
Risposte
14
Visite
4K
PHP 25 Nov 2018
avatar
A
A
[PHP] Modifica caratteri di una query Oracle SQL
  • Andrea Franz
  • 26 Set 2018
  • PHP
Risposte
0
Visite
1K
PHP 26 Set 2018
Andrea Franz
A
problema con la codifica caratteri accentati e speciali tra php e mysql
  • gandalf1959
  • 13 Lug 2018
  • PHP
Risposte
3
Visite
9K
PHP 13 Lug 2018
macus_adi
C
Caratteri accentati php
  • colomber
  • 13 Giu 2018
  • PHP
Risposte
2
Visite
5K
PHP 14 Giu 2018
colomber
C
Z
[Java] Caratteri distorti e spaziature errate nelle stampe di componenti swing
  • zatarra
  • 29 Mar 2018
  • Java
Risposte
0
Visite
1K
Java 29 Mar 2018
zatarra
Z
S
[PHP] visualizzazioe caratteri strani
  • stefanocps
  • 16 Mar 2018
  • PHP
Risposte
13
Visite
3K
PHP 16 Mar 2018
stefanocps
S
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?