HighDots Forums  

regex (php + js)

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss regex (php + js) in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Gufo Rosso
 
Posts: n/a

Default regex (php + js) - 03-08-2008 , 10:07 PM







in php processo un testo e sostituisco questo [[TESTO]] con quello
che segue:


<?
$mepl = 'TESTO';
$row['KW'] = 5;

// $pattern = "/\[\[[^<>(){}\[\]]*?\]\]/"; //regex che uso per fare
// la cosa
// $insert = preg_replace_callback($pattern, "spipoola",$text);


echo "<span class=\"keywords\">[[<a
href=\"javascript:keywords('".$row['KW']."','".str_replace("'","&#8217",$mepl)."')\"
class=\"linkeyword\">".$mepl."</a>]]</span>";

in javascript vorrei fare il contrario :

sostituire il tutto con TESTO senza le [[]]





Reply With Quote
  #2  
Old   
P/ero
 
Posts: n/a

Default Re: regex (php + js) - 03-11-2008 , 02:12 PM






"Gufo Rosso" [by Thunderbird 2.0.0.12 (Windows/20080213)] on Sun, 09 Mar 2008
02:07:44 GMT wrote:

Quote:
in php processo un testo e sostituisco questo [[TESTO]] con quello
che segue:

?
$mepl = 'TESTO';
$row['KW'] = 5;

// $pattern = "/\[\[[^<>(){}\[\]]*?\]\]/"; //regex che uso per fare
// la cosa
// $insert = preg_replace_callback($pattern, "spipoola",$text);

echo "<span class=\"keywords\">[[<a
href=\"javascript:keywords('".$row['KW']."','".str_replace("'","&#8217 ",$mepl)."')\"
class=\"linkeyword\">".$mepl."</a>]]</span>";

in javascript vorrei fare il contrario :

sostituire il tutto con TESTO senza le [[]]
Vediamo se ho capito :-)

1 - Vuoi sostituire tutto il codice ([TESTO] con le quadre) con solo TESTO.
Questa è la regexp: /(.|[\r\n])*\[TESTO\](.|[\r\n])*/g,"TESTO"

2 - Vuoi sostituire solo [TESTO] con TESTO.
Questa è la regexp: /\[TESTO\]/g,"TESTO"

Se non è così, posta tutto il testo da modificare e quello già modificato.

--
* b *
* y *
* Piero *
[ /summum ius summa iniuria/ ]



Reply With Quote
  #3  
Old   
Gufo Rosso
 
Posts: n/a

Default Re: regex (php + js) - 03-11-2008 , 05:21 PM



P/ero ha scritto:
Quote:
"Gufo Rosso" [by Thunderbird 2.0.0.12 (Windows/20080213)] on Sun, 09 Mar 2008
02:07:44 GMT wrote:

in php processo un testo e sostituisco questo [[TESTO]] con quello
che segue:

?
$mepl = 'TESTO';
$row['KW'] = 5;

// $pattern = "/\[\[[^<>(){}\[\]]*?\]\]/"; //regex che uso per fare
// la cosa
// $insert = preg_replace_callback($pattern, "spipoola",$text);

echo "<span class=\"keywords\">[[<a
href=\"javascript:keywords('".$row['KW']."','".str_replace("'","&#8217 ",$mepl)."')\"
class=\"linkeyword\">".$mepl."</a>]]</span>";

in javascript vorrei fare il contrario :

sostituire il tutto con TESTO senza le [[]]

Vediamo se ho capito :-)

1 - Vuoi sostituire tutto il codice ([TESTO] con le quadre) con solo TESTO.
Questa è la regexp: /(.|[\r\n])*\[TESTO\](.|[\r\n])*/g,"TESTO"

<span class="keywords">[[<a href="javascript:keywords('81','David
Edwards')" class="linkeyword">David Edwards</a>]]</span>

<span class="keywords">[[<a href="javascript:keywords('20','pinco
Pallino')" class="linkeyword">Pinco Pallino</a>]]</span>

Quote:
2 - Vuoi sostituire solo [TESTO] con TESTO.
Questa è la regexp: /\[TESTO\]/g,"TESTO"

Se non è così, posta tutto il testo da modificare e quello già modificato.

vorrei fare 2 cose:
la prima prendere 81
la seconda prendere David Edwards (testo-numeri)
solo se contenuti in keywords()

P.S.
se interessa il codice sorgente PHP che fa sta cosa lo posto, lo uso in
ajax con tinymce, il problema e'
se seleziono un pezzo di testo con il testo in questione posso:
eliminarlo e sostituirlo semplice TESTO
oppure renderlo keywords:

<span class="keywords">[[<a href="javascript:keywords('20','pinco
Pallino')" class="linkeyword">Pinco Pallino</a>]]</span>

la sostituzione e' gestita dalle api di tiny, le richieste sono gestite
da ajax il che la rende abbastanza comoda, ma le regex sono dure da digerire







Reply With Quote
  #4  
Old   
P/ero
 
Posts: n/a

Default Re: regex (php + js) - 03-12-2008 , 03:39 PM



"Gufo Rosso" [by Thunderbird 2.0.0.12 (Windows/20080213)] on Tue, 11 Mar
2008 21:21:53 GMT wrote:

...skipped!
Quote:
Se non è così, posta tutto il testo da modificare e quello già
modificato.
span class="keywords">[[<a href="javascript:keywords('81','David
Edwards')" class="linkeyword">David Edwards</a>]]</span

span class="keywords">[[<a href="javascript:keywords('20','pinco
Pallino')" class="linkeyword">Pinco Pallino</a>]]</span
...skipped!

Quote:
vorrei fare 2 cose:
la prima prendere 81
la seconda prendere David Edwards (testo-numeri)
solo se contenuti in keywords()
[Presumendo che il codice stia tutto su una riga, prova queste]

/(.*)(keywords[('\d,\w )]+)(.*)>[\w ]+/g,"$1keywords('20','pinco Pallino')$3>Pinco Pallino")
questa richiede che sia presente keywords, altrimenti non funziona, ma se
lo trova matcha qualsiasi numero e testo fra le ()

/(.*)keywords\('81','David Edwards'\)(.*)>[\w ]+/g,"$1keywords('20','pinco Pallino')$2>Pinco Pallino")
questa richiede la presenza di keywords, 81 e David Edwards, per funzionare.

Vedi quale può servirti, ma se non ho centrato il problema, affina la
richiesta. :-)

Quote:
P.S.
se interessa il codice sorgente PHP che fa sta cosa lo posto, lo uso
Lascia stare, conosco a malapena un po' di JS, ma niente di PHP. :-/
...skipped!

--
* b *
* y *
* Piero *
[ /carpe diem/ ]



Reply With Quote
  #5  
Old   
Gufo Rosso
 
Posts: n/a

Default Re: regex (php + js) - 03-12-2008 , 04:24 PM



P/ero ha scritto:
Quote:
"Gufo Rosso" [by Thunderbird 2.0.0.12 (Windows/20080213)] on Tue, 11 Mar
2008 21:21:53 GMT wrote:

...skipped!
Se non è così, posta tutto il testo da modificare e quello già
modificato.
span class="keywords">[[<a href="javascript:keywords('81','David
Edwards')" class="linkeyword">David Edwards</a>]]</span

span class="keywords">[[<a href="javascript:keywords('20','pinco
Pallino')" class="linkeyword">Pinco Pallino</a>]]</span
...skipped!

vorrei fare 2 cose:
la prima prendere 81
la seconda prendere David Edwards (testo-numeri)
solo se contenuti in keywords()

[Presumendo che il codice stia tutto su una riga, prova queste]

/(.*)(keywords[('\d,\w )]+)(.*)>[\w ]+/g,"$1keywords('20','pinco Pallino')$3>Pinco Pallino")
questa richiede che sia presente keywords, altrimenti non funziona, ma se
lo trova matcha qualsiasi numero e testo fra le ()

keywords('variabile numerica', 'variabile testo') non sono testi fissi
ma devo matchare quello che c'e' tra prentesi

Quote:
/(.*)keywords\('81','David Edwards'\)(.*)>[\w ]+/g,"$1keywords('20','pinco Pallino')$2>Pinco Pallino")
questa richiede la presenza di keywords, 81 e David Edwards, per funzionare.

Vedi quale può servirti, ma se non ho centrato il problema, affina la
richiesta. :-)

P.S.
se interessa il codice sorgente PHP che fa sta cosa lo posto, lo uso

Lascia stare, conosco a malapena un po' di JS, ma niente di PHP. :-/
...skipped!


Reply With Quote
  #6  
Old   
P/ero
 
Posts: n/a

Default Re: regex (php + js) - 03-13-2008 , 02:30 PM



"Gufo Rosso" [by Thunderbird 2.0.0.12 (Windows/20080213)] on Wed, 12 Mar
2008 20:24:31 GMT wrote:

...skipped!
Quote:
keywords('variabile numerica', 'variabile testo') non sono testi fissi
ma devo matchare quello che c'e' tra prentesi
[ultimo tentativo]
/(.*)(keywords)?([^\x7F]+)\d+[,\w' ]+(.*)>[\w ]+/g,"$1'20','pinco Pallino'$4>Pinco Pallino")

Questa matcha keywords (se esiste), sostituisce quello che c'è fra parentesi
ed il testo prima di </a> come richiesto.

Io mi fermo qui. :-P

--
* b *
* y *
* Piero *
[ /ad audiendum verbum/ ]



Reply With Quote
  #7  
Old   
Gufo Rosso
 
Posts: n/a

Default Re: regex (php + js) - 03-13-2008 , 09:51 PM



P/ero ha scritto:
Quote:
"Gufo Rosso" [by Thunderbird 2.0.0.12 (Windows/20080213)] on Wed, 12 Mar
2008 20:24:31 GMT wrote:

...skipped!
keywords('variabile numerica', 'variabile testo') non sono testi fissi
ma devo matchare quello che c'e' tra prentesi

[ultimo tentativo]
/(.*)(keywords)?([^\x7F]+)\d+[,\w' ]+(.*)>[\w ]+/g,"$1'20','pinco Pallino'$4>Pinco Pallino")

Questa matcha keywords (se esiste), sostituisce quello che c'è fra parentesi
ed il testo prima di </a> come richiesto.

funziona, fa un replace, pero a me serve l´array dei 3 pezzi che poi
vado a sostituire

0=>20
1=>pinco pallino
2=>Pinco Pallino


Quote:
Io mi fermo qui. :-P

grazie dell'aiuto comunque


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.