esiste una funzione che fa questo?
esiste una funzione che fa questo?
esiste l'esatto opposto.
per fare questo serve una regexp. ma va ben studiata, te la posso fare domani sera.
se vuoi farla tu ti consiglio le PCRE.
Mi accodo alla discussione, interesserebbe anche a me la regexp per prendere i tag, avevo provato a farne una tempo fa ma con risultati pari allo zero![]()
Mi interesserebbe anche la funzione "opposta"...qual è?![]()
il problema è che deve essere studiatissimaOriginariamente inviato da mdsjack
esiste l'esatto opposto.
per fare questo serve una regexp. ma va ben studiata, te la posso fare domani sera.
se vuoi farla tu ti consiglio le PCRE....
però si potrebbe usare questa http://www.php.net/strip_tags, per prendere i tag che ci servono e poi con una funzione ad-hoc tagliare il testo rimasto..
![]()
cmq in pratica a me serve una funzione che restituisce solo il tag <a ...>...
es $var="dsfjoiudsh foid f link "
$var=function($var);
ora var dovreò essere == "<a href='ciao baby'>"
![]()
strip_tags è quello a cui facevo riferimento io...
studiatissima no, ma bisogna provarla bene. se te ne intendi potresti partire da una che individua i tags email ( <a> ) che se non sbaglio c'è in giro...
io ho proprio poco tempo in questo periodo. per farla, a meno che nn sia una banalità ci vorrebbe un giorno (necessario e sufficiente)
se non hai urgenza...![]()
Spero che xnavigator non abbia urgenza..io non ne ho e intanto ringrazio per avermi "segnalato" la funzione strip_tags![]()
A proposito di strip_tags..domanda fagiana: non è che da qualche parte "mette" i tag da cui "ripulisce" il testo? Perchè nel qual caso ci si troverebbe con appunto tutti i tag...o no ?![]()
toh vi ho creato una funzione apposta (senza regexp e complicazioni varie)!
richiamo:Codice PHP:
<?php
function loc_html_char($string)
{
for ($i=0;$i<strlen($string);$i++)
{
if ($string[$i]=='<' && $string[$i+1]=='a') $apri=$i;
if ($string[$i]=='>' && $string[$i-1]=='"') $chiudi=$i;
}
return substr($string, $apri, ($chiudi-$apri)+1);
}
Codice PHP:
echo loc_html_char('visita [url="www.html.it"]HTML.it[/url]!');
![]()
![]()
p.s. se vuoi prendere solo '' usa questo, se vuoi prendere anche fino a '' togli la seconda condizione del secondo if:Codice PHP:
if ($string[$i]=='<' && $string[$i+1]=='a') $apri=$i;
if ($string[$i]=='>') $chiudi=$i; # <<TOLTA!
![]()
ah, è da perfezionare perchè prenda anche i link sbagliati![]()
ah, questa funzione prende solo l'ultimo tag '<a href...>'!
![]()
Originariamente inviato da web ces
toh vi ho creato una funzione apposta (senza regexp e complicazioni varie)!
Codice PHP:
<?php
function loc_html_char($string)
{
for ($i=0;$i<strlen($string);$i++)
{
if ($string[$i]=='<' && $string[$i+1]=='a') $apri=$i;
if ($string[$i]=='>' && $string[$i-1]=='"') $chiudi=$i;
}
return substr($string, $apri, ($chiudi-$apri)+1);
}apparte questo è sbagliata la funzione..Originariamente inviato da web ces
ah, questa funzione prende solo l'ultimo tag '<a href...>'!
![]()
prova su questa stringa "link clicca qui" restituisce un output sbagliato,
oppure prova su questa "pagina html .... link
[add2]
questi errori li ho trovati senza neanche provarla la funzione, quindi può darsi che quello che ho detto non è giusto, anche se da come è fatto il codice...![]()
![]()