funzione di ricerca e sostituzione

  • Creatore Discussione Creatore Discussione mano
  • Data di inizio Data di inizio

mano

Nuovo Utente
3 Lug 2008
23
0
0
ciao,

vorrei creare una funzione che cerca nel testo un dato pattern e quando lo trova, trasforma quella parte di testo in un collegamento esterno.
nel dettaglio, l'idea è che ho del testo che può contenere delle sigle come le seguenti: 1d6, 12d4, 3d20, ecc... dove 'd' sta per dado e la sigla significa 'N dadi da M', cioè '1 dado da 6','12 dadi da 4', ecc...chi conosce i giochi di ruolo avrà già capito di cosa sto parlando...
ora, ho uno script in javascript che permette di lanciare automaticamente il tiro di dado scritto in un collegamento esterno, ma attualmente funziona solo se scrivo manualmente il codice del link, cioè scrivo così:
Codice:
<a href=\"javascript:void(0);\" class=\"diceRoller\" onclick=\"rollValue('Total','10d6');\" title=\"Roll the dice!\">10d6</a>

io vorrei creare una funzione che legge il testo (un parser insomma), individua il testo con il tiro di dado e restituisce il testo con tutti i tiri di dado convertiti in collegamenti esterni come quello precedente.

per individuare il tiro di dado uso una regexp:
Codice:
if (eregi('[0-9]+d[0-9]+',$text)) ...

so anche come sostituire al testo originale il testo con il collegamento...quello che non riesco a fare è memorizzare la stringa che indica il tiro di dado e rimpiazzare proprio quella porzione di testo con il codice del collegamento. cioè per chiarire, la regexp scritta mi individua se c'è almeno un tiro di dado nel testo, ma non dà altre informazioni. io voglio memorizzare quella stringa (p.es. '1d6','2d20',ecc) in una variabile, in modo poi da poterla riscrivere nel codice del collegamento con uno str_replace().
Codice:
<a href=\"javascript:void(0);\" class=\"diceRoller\" onclick=\"rollValue('Total','10d6');\" title=\"Roll the dice!\">10d6</a>


qualche idea?
grazie
ciao!
 

Discussioni simili