RegEX ottenere testo tra due tag

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Ho cercato in lungo e in largo. Avrei bisogno di ricavare il testo tra due tag ##HEAD## e ##/HEAD##. Ho cercato in lungo e in largo, ma sono solo riuscito a costruire questa espressione regolare
Codice:
/##HEAD##(.*?)##\/HEAD##/
che sì mi raccoglie il testo tra i due tag, ma solo nel caso siano in una singola linea. Come fare se ad esempio si è in questo modo
Codice:
##HEAD##
        testo
        altrotesto
        etc
##/HEAD##
a prendere solo
Codice:
        testo
        altrotesto
        etc
??
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, le espressioni regolari non le ho mai digerite, in attesa di una risposta ti posto un alternativa
PHP:
<?php

$stringa = "
##HEAD##
        testo
        altrotesto
        etc
##/HEAD##    
";
$i = "##HEAD##";
$inizio = strpos($stringa, $i);
$inizio += strlen($i);
$f = "##/HEAD##";
$fine = strpos($stringa, $f);
$fine -=strlen($f);
$result = substr($stringa, $inizio,$fine);
echo str_replace("\n", "<br/>", trim($result));
?>
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Puoi "giocare" con substring togliendo dall'intera stringa la parte che hai già controllato in questo modo:
PHP:
$rest = substr($string, -$fine);
Quindi devi mettere tutto in un ciclo e man mano fai andare avanti a fare i controlli e salvare tutto quello che ti serve in una struttura dati che più desideri o consideri opportuna.
 

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Comunque essencomi incaponito sulle RegEx mi sono studiato un manuale e sono riuscito a fare una funzione che fa quello che voglio:
PHP:
private function multilineRegExAlt($input, $tag){
    preg_match_all("/##$tag##(.*?)##\/$tag##/s", $input, $matches);
    return($matches[1]);
}

La funzione vuole il testo da elaborare e il nome del tag (che io ho deciso vada delimitato da ## e ##, ma si può cambiare facilmente) e ritorna un array con tutti i risultati.

Ciao ciao!
 
Discussioni simili
Autore Titolo Forum Risposte Data
Shyson Regex che trova la parola nella pagina jQuery 6
F regex scraper telefono CMS (Content Management System) 0
A Regex per isolare link interni con rel noopener PHP 0
MarcoGrazia [PHP] [regex] Validare un url PHP 2
K Come eliminare attributi regex per validazione con javascript Javascript 0
MarcoGrazia [Javascript] Regex per la validazione di un numero di telefono. Javascript 2
A [PHP] Blocco mail spam con regex PHP 2
otto9due [PHP] Dubbio esistenzaile: Regex email e stampa valori trovati.. PHP 5
Shyson Regex strana jQuery 0
MarcoGrazia [regex] validare un textbox con solo caratteri alfabetici. Javascript 6
A Regex per estrapolare url da testo PHP 5
G problema con regex PHP 0
Shyson Regex multipla PHP 0
S Regex ASP.NET 1
A haccess regex username PHP 11
A Regex array PHP 1
A Regex per domini .de PHP 2
S Regex per replace di un BBcode con parametri PHP 4
Shyson Regex accetta 2 volte il trattino Javascript 1
9 Estrarre Link da pagina web con una Regex Programmazione 0
L aiuto per questa semplice regex PHP 5
SolidSnake4 regex convalida mail PHP 15
G Regex in PHP PHP 2
A Ottenere sfumatura su testo Photoshop 8
F [JavaScript] Ottenere il CSS dopo transform: scale() e transform-origin Javascript 0
F programma che vi permette di ottenere like e followers! senza limiti Annunci servizi di Social Media Marketing 0
A [MySQL] Ottenere più risultati in un unico campo MySQL 7
V [Visual Basic] ottenere info su sistema Visual Basic 1
M Ottenere i valori di una proprietà su un array di oggetti (es. DIV) in JavaScript Javascript 7
T Ottenere value slection jQuery 1
X [Photoshop] Cercasi strumento per ottenere un semplice effetto. Photoshop 6
S [PHP] ottenere una data da un'altra PHP 4
M ridimensionare un'immagine per ottenere una thumbnail PHP 4
otto9due Rand() o mt_rand() per ottenere risultati alternativi.. non uguali per 3 estrazioni. PHP 5
B Funzione per ottenere una determinata stringa PHP 4
R Ottenere il numero di riga di una tabella mysql contenente un nome specifico PHP 1
F Come ottenere nomi delle tabelle in un database e ciclarli PHP 1
braccobaldo Ottenere l'elemento form da un suo input Javascript 3
otto9due Ottenere link immagine prodotto virtuemart Joomla 0
M incastonare div per ottenere un effetto puzzle HTML e CSS 8
A Ottenere una stringa da window.prompt Javascript 1
R Vb.net: ottenere valori da campi html .NET Framework 1
G Individuare parte di un elemento in un array e ottenere la chiave PHP 7
K Come ottenere codice sorgente HTML di una pagina PHP ? PHP 15
Sevenjeak Far ottenere il Focus ad un'elemento Java 5
C AllTrafficSeo - Un nuovo metodo per ottenere referrals/visite Guadagnare col Sito 0
Web Designer Come ottenere un Popup in entrata su MyBB (valido anche per altri CMS) CMS (Content Management System) 0
C Codice html per ottenere finestre in primo piano fisse e a scatta sovrapposte HTML e CSS 35
L ottenere modifiche dinamiche del codice Javascript 3
L Come si puo ottenere il codice sorgente di una pagina web ? PHP 8

Discussioni simili