Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19
  1. #11
    bell'idea ma l'apostrofo era un esempio, le " ad esempio hanno come codice " e verrebbero intaccate ugualmente... però mi hai fatto venire un'idea
    tutto i caratteri html iniziano con & e finiscono con ; no? dovrebbe essere possibile costruire un expr regolare che in base a questo li riconosce e non li sostituisce...

  2. #12
    Non sono bravo con le regexp, ma non credo che sia comunque possibile usarle in questo caso: per esempio, nessuna regexp potrebbe distinguere tra le due ampersand presenti qui:

    prova.php?a=1&bac=;ciao"

    La mia domanda è invece di altro tipo: come crei il codice che hai bisogno di processare? Hai provato a guardare la clausola

    ini_set("arg_separator.output", "&");

    se fa al caso tuo?

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #13
    [supersaibal]Originariamente inviato da Shores
    Non sono bravo con le regexp, ma non credo che sia comunque possibile usarle in questo caso: per esempio, nessuna regexp potrebbe distinguere tra le due ampersand presenti qui:

    prova.php?a=1&bac=;ciao"[/supersaibal]
    purtroppo anch'io me la cavo poco ma dato che non passo mai valori testuali ma solo id tramite url se riuscissi a fare un espressione regolare che processa solo i dati contenuti tra "href=''" sarei sicuro che le uniche & che trova a sostituisce sarebbero quelle giuste

    [supersaibal]Originariamente inviato da Shores La mia domanda è invece di altro tipo: come crei il codice che hai bisogno di processare? Hai provato a guardare la clausola

    ini_set("arg_separator.output", "&");

    se fa al caso tuo?

    Ciao! [/supersaibal]
    si l'ho già provata ma non ho capito bene come funziona perchè inserendola o meno nello script non cambia assolutamente nulla...

    c'è un modo particolare di usarla? va messa in un punto particolare? io l'ho messa all'inizio dello script...

    in locale ho provato anche a mettere direttamente in php.ini arg_separator.output = "&" ma non è cambiato nulla

  4. #14
    Insomma, hai bisogno di processare solo le href?

    Allora perchè non scriverti una funzione tipo questa, che aggiunge parametri ad una stringa contenente una url da href?

    Codice PHP:
        function addquerypar(&$variable$name$value)
            {
            
    // /(&|\?)([a-zA-Z0-9_%]+?)=([a-zA-Z0-9_%]+?)/
            
    if (!isset($variable)):
                
    $variable="";
            endif;
            if (
    is_array($name)):
                
    $nameindexes=array_keys($name);
                if (
    is_array($value)):
                    
    $valueindexes=array_keys($value);
                    if (
    sizeof($name)==sizeof($value)):
                        for (
    $index1=0$index1<sizeof($name); $index1++):
                            
    $names[$index1]=$name[$nameindexes[$index1]];
                            
    $values[$index1]=$value[$valueindexes[$index1]];
                        endfor;
                    else:
                        if (
    sizeof($name)<sizeof($value)):
                            for (
    $index1=0$index1<sizeof($name); $index1++):
                                
    $names[$index1]=$name[$nameindexes[$index1]];
                                
    $values[$index1]=$value[$name[$nameindexes[$index1]]];
                            endfor;                    
                        else:
                            
    $names[0]=$name[$nameindexes[0]];
                            
    $values[0]=$value[$valueindexes[0]];
                        endif;
                    endif;
                else:
                    
    $names[0]=$name[$nameindexes[0]];
                    
    $values[0]=$value;            
                endif;
            else:
                
    $names[0]=$name;
                if (
    is_array($value)):
                    
    $valueindexes=array_keys($value);
                    
    $values[0]=$value[$valueindexes[0]];
                else:
                    
    $values[0]=$value;
                endif;
            endif;
            
            for (
    $index1=0$index1<sizeof($names); $index1++):
                if (
    strpos($variable,"?")===false):
                    
    $variable.="?";
                else:
                    
    $variable.="&amp;amp;";
                endif;
                
    $variable.=$names[$index1]."=".urlencode($values[$index1]);
            endfor;
            
            return 
    $variable;
            } 
    Si usa così:

    $url="prova.php";
    addquerypar($url,"id",23); //produce "prova.php?id=23"
    addquerypar($url,"pro","&quot;genoveffa"); //produce "prova.php?id=23&amp;amp;pro=&amp;quot;genovef fa"

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #15
    non è esattamente questo che cercavo... diciamo che io cercavo di creare una funzione che faccia esattamente quello che dovrebbe fare
    ini_set("arg_separator.output", "&amp;amp;");
    cioè che io possa scrivere normalmente il mio codice e lui automaticamente mi trasformi tutti gli url...
    stò provando un pò di espressioni regolari, forse ce la posso fare

  6. #16
    Ma perchè doverlo fare dopo? Non ti conviene scrivere codice giusto subito, invece che scriverlo sbagliato e poi correggerlo?

    Non capisco...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #17
    perchè il codice in gran parte è già scritto, quindi se riuscissi ad automatizzare la correzione sarebbe una gran bella cosa :P

  8. #18
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Ciao, hai provato anche in questo modo:
    Codice PHP:
    [FONT=courier new]<?php
    $link 
    "[url='index.php?var1=5&var2=3']l&#039alba è bella[/url]";
    echo 
    preg_replace("/\\b&\\b/""&amp"$link);
    ?>[/FONT]
    (per evitare che venisse interpretato il codice non ho aggiunto il punto e virgola alla fine di &#039 e &amp, quando proverai aggiungilo)

  9. #19
    utilizzando un espressione regolare un pò più complicata son riuscito nel mio intento però alla fine ho optato per l'oneroso lavoro di correggere tutti gli script perchè altrimenti la pagina si sarebbe appesantita eccessivamente :/

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 © 2026 vBulletin Solutions, Inc. All rights reserved.