- Home
- Categorie
- Coding e Sistemistica
- PHP
- Selezionare parte di un testo da-a..
-
Selezionare parte di un testo da-a..
Ciao a tutti!
ho un problema nella selezione di parte di un testo..
Dovrei selezionare parte di un testo delimitato da tag..
ad esempio, con un testo del tipo[PHP]"ciao ciao ciao <a href="" target="">ciccio</a> ciao ciao ciao"[/PHP]
testo semplice, dovrei selezionare da
"<a" fino a "</a>"tutto quanto e salvarlo in una variabile..
è possibile fare ciò?graaaazie mille!
ciao ciao
-
Ecco una possibile soluzione, però funziona solo se la stringa contiene un solo link:
[php]
<?php
$stringa = "ciao ciao ciao <a href="prova.php">ciccio</a> ciao ciao ciao";//Definizione delimitatori $del_min = "<a"; $del_max = "</a>"; //Calcolo posizione dei delimitatori $pos_del_min = strpos($stringa, $del_min); $pos_del_max = strpos($stringa, $del_max); //Calcolo lunghezza dei caratteri che formano il link $pos_del_max = $pos_del_max - $pos_del_min + 4; //Estrazione del link $link = substr($stringa, $pos_del_min, $pos_del_max); echo $link;
?>
[/php]Ciao!
-
grazie mille, ho provato e funziona!
ma se (come nel mio caso) ci fossero più link?
come posso fare?grazie
-
Ecco qui la variante modificata per estrapolare più di un link.
[php]
<?php
$stringa = "ciao ciao ciao <a href="prova.php">ciccio</a> ciao ciao ciao
ciao ciao ciao <a href="prova2.php">ciccio2</a> ciao ciao
ciao ciao ciao <a href="prova3.php">ciccio3</a> ciao ciao";$del_min = "<a"; $del_max = "</a>"; $num_link = substr_count($stringa, $del_min); $tmp_pos = 0; $tmp_min = 0; $tmp_max = 0; for($i = 1; $i <= $num_link; $i++) { $pos_del_min = strpos($stringa, $del_min, $tmp_max); $pos_del_max = strpos($stringa, $del_max, $tmp_max + 1); $tmp_min = $pos_del_min; $tmp_max = $pos_del_max; $pos_del_max = $pos_del_max - $pos_del_min + 4; $link = substr($stringa, $pos_del_min, $pos_del_max); echo "LINK " . $i . ": " . $link . "<br>"; }
?>
[/php]Ciao!
-
mitico!
adesso la testo subito..
-
funziona! spaziale!
-
Bene