Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776

    regex produce risultato diverso da quello aspettato, probabile errore di scrittura regex

    Ciao a tutti,

    sbaglio sicuramente qualche cosa nella regex:
    Io vorrei ottenere un array con due valori:
    Codice PHP:
    [0]=>"<multitable>aaa</multitable>"
    [1]=>"<multitable>bbb</multitable>" 

    Ma il risultato è diverso da quello sperato.
    dato questo codice:
    Codice PHP:
    $texto="\&\#60;multitable\&\#62;aaa\&\#60;/multitable\&\#62;hhhh\&\#60;multitable\&\#62;bbb\&\#60;/multitable\&\#62;";
             
    $menor "\&\#60;";
             
    $mayor "\&\#62;";
             
    $regex_multitable "/".$menor "multitable" $mayor .  
    "(.*)" $menor "\/multitable" $mayor."/";
             
    var_dump($regex_multitable);
             
    preg_match_all($regex_multitable$texto$matches);
             
    var_dump($matches); 
    Il primo var_dump produce questo risultato:

    Codice PHP:
      string(56"/\&\#60;multitable\&\#62;(.*)\&\#60;\/multitable\&\#62;/" 
    Il secondo produce questo:
    Codice PHP:
    array(2) {
       [
    0]=>
       array(
    1) {
         [
    0]=>
         
    string(102"<multitable>aaa</multitable>hhhh

    <multitable>bbb</multitable>"
       
    }
       [
    1]=>
       array(
    1) {
         [
    0]=>
         
    string(61"aaa</multitable>hhhh

    <multitable>bbb"
       

    Dove sbaglio?

    Grazie,
    Roberto
    Ultima modifica di robynosse; 25-05-2020 a 17:41

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Ok, mi ero dimenticato il ? , era:
    (.*?)

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