Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [RegExp]Selezione commenti

    ciao a tutti,
    ho la necessitā di riconvertire i commenti x phpdocumentator

    iniano con /** commento in multilinea e poi finiscono con */

    le mie prime prove come espressione si sono fermate qui

    /\*\*{1}[\W\w\r]+\*/
    ma chiaramente non funziona...non si ferma al delimitatore finale */


  2. #2
    Giusto per cominciare prova cosė:

    codice:
    %/\*\*(.*?)\*/%s
    ....
    
    
    %
      /\*\*  # tag di apertura
      (.*?)  # qualsiasi cosa \n compresi
      \*/	 # tag di chiusura
    %sx
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  3. #3
    mi sfugge l'utilizzo di % e %s (non funziona) cmq...tu usi (.*?) perō se ho capito bene usando . mi escludi che sia su multilinea...ho provato con (.\s*?) ma niente da fare

  4. #4
    vorresti sostiuire commenti in formato multilinea? se si in cosa?

  5. #5
    dovendo estrarre i commenti messi nei miei file php nel formato "phpdocumentator" e metterli in file separati, ho bisogno di un qualcosa che me li sappia selezionare (il dopo posso farlo io).
    Per creare phpdocumentar č necessario far cominciare i propri commenti con /** e terminarli con */

    esempio di commento di una funzione personale:

    Codice PHP:
    /** Riscrive le variabili.
    *
    * bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 
    * bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 
    * bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 
    * bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 
    *
    * <code>

    * Rewrite("WIZARD");
    * # se il valore della entry AccessUrl esiste
    * $SYSitem["WIZARD"]["AccessUrl"] = "yyy";
    * #altrimenti se non č settata
    * $SYSitem["WIZARD"]["AccessUrl"]= "xxx";#valore di "default"

    * </code>
    *
    *@param string $Service nome 
    *@return true in caso di successo o false in caso di errore
    */ 
    questo commento, una volta parsato da phpdocumentator mi mostra una documentazione. Ora ho perō la necessitā di separare in file esterni questi commenti perchč si possano modificare da interfaccie...tu come faresti?(a mano sono oltre 3000 file da aprire e smembrare!)

  6. #6
    la regexp di anakin č coretta...prova con questo codice

    Codice PHP:
    preg_match_all('%/\*\*(.*?)\*/%s',$commenti,$out);

    var_dump($out); 

  7. #7
    devo dire che mi sfugge sempre l'uso de % e %s, perō provando con questo script su unfile di 1200 righe e 30 funzioni tutte commentate, lo script ha estratto a primo occhio tutto bene.

    Codice PHP:
    $file=file($_SERVER['DOCUMENT_ROOT']."/function_text.php");

    foreach(
    $file as $k=>$v)
        {
    $bfile.=$v;}
        
    preg_match_all('%/\\*\\*(.*?)\\*/%s',$bfile,$out); 

    foreach(
    $out[0] as $k1=>$v1)
        {echo 
    "<pre>".$v1."</pre><hr>";} 

  8. #8
    la sintassi delle regexp passate alle funzioni preg* necessita dei delimitatori che di solito sono i forward slash /, ma in realtā puoi usare quelli che pių ti aggradano. In questo caso siccome nella regexp c'erano i forward slash, per non dover aggiungere gli escape \ ho usato come delimitatore il segno percentuale. La s finale č il modificatore di criterio che aggiunge alla classe punto . (tutti i caratteri tranne gli a capo) anche gli a capo, in questo modo la ricerca diventa multiriga.
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.