Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81

    sostituzione soli alcuni tag / ricerca case insensitive

    Salve,
    ho un problema con la sostituzione di stringhe all'interno di tags html specifici. Se qualcuno sa come fare, mi piacerebbe sapere come
    - cercare solo all'interno dei tag testo e rimuovere delle stringhe (altri tag html come [/b] ad esempio) presente nell'attributo href a causa di una previa sostituzione ottenendo ??

    E inoltre se è possibile cercare stringhe da sostituire in maniera case insensitive.

    Grazie a tutti coloro che risponderanno

  2. #2
    Non so se il problema sia lo stesso .. cmq per cominciare prova a vedere questa:
    http://forum.html.it/forum/showthrea...58#post9409858
    sostituisci "b" agli "span" all'interno della regex per vedere se fa quello che vuoi.
    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
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81
    ho inserito questo codice nella pagina
    Codice PHP:
    preg_replace("/(<([a-z]+)[^>]*?)<b.*?>(.*?)<\/b>(.*?<\/\\2>)/is",'$1$3$4',$html); 
    il risultato è:
    .html">testo
    invece di testo

    non è possibile generalizzare di più ad una qualsiasi estensione dell'indirizzo e non necessariamente ai file .html?

  4. #4
    ho copiato il codice che hai modificato e fatto una prova veloce:
    codice:
    $html = '<span>asd</span>
    		testo
    		<span>asd</span> 
    		testo';
    echo preg_replace("/(<([a-z]+)[^>]*?)<b.*?>(.*?)<\/b>(.*?<\/\\2>)/is",'$1$3$4',$html) ;
    e il risultato è corretto. E cmq non dipende da quello che c'è scritto nell'href.
    Al limite posta un esempio che dà il risultato sballato.

    [edit: disabilitate le faccine]
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81
    sembra funzionare perfettamente, non so proprio come ringraziarti Anªkin

    Esistono delle funzioni di ricerca e sostituzione di stringhe in maniera case insensitive così che parole con case diversi siano sostituite dalla stessa parola?

    Grazie ancora

  6. #6
    Originariamente inviato da Athreyu
    sembra funzionare perfettamente, non so proprio come ringraziarti Anªkin

    Esistono delle funzioni di ricerca e sostituzione di stringhe in maniera case insensitive così che parole con case diversi siano sostituite dalla stessa parola?

    Grazie ancora
    figurati
    Per quanto riguarda il case insensitive la funzione che stai usando (se vedi ha un /is in fondo alla regex, la i indica proprio l'insensitive) è insensitive. Mentre per funzioni che non sfruttino le regex hai solo str_ireplace mi pare, che però è presente solo con php 5.
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81
    non sono molto a conoscenza delle regular expressions.
    '/paroladasostituire/is'
    mi da errore :|
    mi sono accorto che alcune stringhe non vengono riconosciute poichè sono presenti dei caratteri di TAB orizzontale e INVII che dovrebbero essere rispettivamente \t e \n. Come posso fare per toglierli ad esempio all'interno di due tag del tipo <td colspan="3"></td>

    Spero di non essere una scocciatura :|
    Grazie per la pazienza

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81
    ho risolto molto banalmente nel seguente modo
    Codice PHP:
    $html str_replace("\t""\n"$html);
        
    $html str_replace("\r""\n"$html);
        
    $html str_replace("\n"" "$html);
        
    $html eregi_replace("[[:space:]]+"" "$html); 
    L'output visualizzato nel broswer è quello voluto, ma però se si va a vedere il codice della pagina, è tutto in una riga, il che è molto brutto dato che non si limita la sostituzione a tag TD specifici.

    Qualche aiuto per la sostituzione case insensitive di stringhe?

  9. #9
    Sinceramente non ho capito bene cosa devi fare cmq se cerchi di riconoscere un pezzo di stringa composta da più parole che stanno su più righe, o hanno dei tab, puoi fare una cosa del genere:
    Codice PHP:
    // "stringa da cercare"
    $rex '/stringa\\s+da\\s+cercare/i' 
    cioè sostituisci gli spazi con una classe di caratteri (\s+) che rappresenta tutti i caratteri invisibili.
    dA .. foto di viaggio
    L'esperienza è il tipo di insegnante più difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    81
    ma facendo così dovrei specificare tutte le stringhe in quel modo.

    in poche parole io ho una pagina, in questa pagina c'è del testo, poi una tabella e poi dell'altro testo. A me interessa fare in modo che vengano "pulite" in quel modo solo le celle della tabella.
    Non c'è un modo diverso senza dover splittare nella rex tutte le stringhe? (sono almeno una quarantina di stringhe composte dal almeno 3 o 4 parole... )

    per cercare invece una stringa in maniera case-insensitive come devo fare che non ho ben capito sorry

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.