Buongiorno,
Avrei bisogno di cancellare il contenuto del link dentro l'<a href='link'> per sostituirlo con quello di cui ho bisogno; però non conoscendo bene le espressioni regolari, mi potete dire quale pattern serve per cancellare il link?
Buongiorno,
Avrei bisogno di cancellare il contenuto del link dentro l'<a href='link'> per sostituirlo con quello di cui ho bisogno; però non conoscendo bene le espressioni regolari, mi potete dire quale pattern serve per cancellare il link?
Sono convinto che l'informatica abbia molto in comune con la fisica. Entrambe si occupano di come funziona il mondo a un livello abbastanza fondamentale. La differenza, naturalmente, è che mentre in fisica devi capire come è fatto il mondo, in informatica sei tu a crearlo. Dentro i confini del computer, sei tu il creatore. Controlli – almeno potenzialmente – tutto ciò che vi succede. Se sei abbastanza bravo, puoi essere un dio. Su piccola scala.
Non so cosa indenti per cancellare un link, e cosa centri un link con le espressioni regolari, cosa intendi di preciso?
Faccio un esempio:
Devo sostituire ilCodice:<a href="http://www.google.it">Google</a>
con uno mio. Il problema è che quel link è dinamico, perciò a priori non lo conosco. So solo che è compreso dentro i doppi apici " ". Ecco mi servirebbe il pattern che sostituisca tutto quello che c'è tra il primo doppio apice e il secondo. Chiaro? :)Codice:http://www.google.it
Sono convinto che l'informatica abbia molto in comune con la fisica. Entrambe si occupano di come funziona il mondo a un livello abbastanza fondamentale. La differenza, naturalmente, è che mentre in fisica devi capire come è fatto il mondo, in informatica sei tu a crearlo. Dentro i confini del computer, sei tu il creatore. Controlli – almeno potenzialmente – tutto ciò che vi succede. Se sei abbastanza bravo, puoi essere un dio. Su piccola scala.
Il link è dinamico, ma rispetto a cosa viene prodotto? potresti postare lo script che produce il link?
Ultima modifica di sevenjeak : 09-03-2011 alle ore 17.05.37
Con una espressione regolare semplice, per esempio, puoi fare:
Codice PHP:
$testo = '<a href="http://www.google.it/">google</a> <a href="http://www.altervista.org/">altervista</a>';
echo preg_replace('/<a href="(.+?)">(.+?)<\/a>/', '\\1', $testo); // stampa: http://www.google.it/ http://www.altervista.org/
Ultima modifica di javascripter : 09-03-2011 alle ore 17.18.16
Io avevo pensato, se devi catturare il link da un'altra pagina, a qualcosa del genere:
Codice PHP:
<?php
$link = file_get_contents('http://localhost/sorgentedellink.php'); // * <a href="http://www.google.it/">Google</a> *
$cerca = '#<a href="(.*)">(.*)</a>#si';
$sostituisci = '<a href="http://www.altervista.it/">Altervista</a>';
$link = preg_replace($cerca, $sostituisci, $link); // Cambia $cerca in $sostituisci da $link
echo $link;
?>
Ultima modifica di darkwolf : 09-03-2011 alle ore 17.41.19 Motivo: Rivisto e fixato :P
E' un codice Wordpress, ma ciò che voglio fare va oltre WP e riguarda PHP sostanzialmente :)
Non ma non deve cacciare i link XD devo sostituire quei link con altri link. Ciò che vorrei ottenere è daCodice PHP:
$children = wp_list_pages('title_li=&child_of='.$cmnt.'&echo=0&depth=1&exclude=205,203,201');
if ($children)
{
?>
<ul>
<?php
echo preg_replace(">".get_the_title(),"class='selected'>".get_the_title(),$children);
?>
</ul>
<?php
}
aCodice:<a href="http://www.google.it/">Google</a>
Codice:<a href="http://www.altrolink.it/">Google</a>
Sono convinto che l'informatica abbia molto in comune con la fisica. Entrambe si occupano di come funziona il mondo a un livello abbastanza fondamentale. La differenza, naturalmente, è che mentre in fisica devi capire come è fatto il mondo, in informatica sei tu a crearlo. Dentro i confini del computer, sei tu il creatore. Controlli – almeno potenzialmente – tutto ciò che vi succede. Se sei abbastanza bravo, puoi essere un dio. Su piccola scala.
Se il link si ottiene da $childrenDovrebbe funzionare.Codice PHP:
<?php
$cerca = '#<a href="(.*)">(.*)</a>#si';
$sostituisci = '<a href="http://www.altervista.it/">Altervista</a>';
$children = preg_replace($cerca, $sostituisci, $children); // Cambia $cerca in $sostituisci da $children
echo preg_replace(">".get_the_title(),"class='selected'>".get_the_title(),$children);
?>
Ultima modifica di darkwolf : 09-03-2011 alle ore 17.51.37
Codice PHP:
function strip_only_tags($str, $tags, $stripContent=false) {
$content = '';
if(!is_array($tags)) {
$tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags));
if(end($tags) == '') array_pop($tags);
}
foreach($tags as $tag) {
if ($stripContent)
$content = '(.+</'.$tag.'(>|\s[^>]*>)|)';
$str = preg_replace('#</?'.$tag.'(>|\s[^>]*>)'.$content.'#is', '', $str);
}
return $str;
}
$html = '
<strong><a href="page.html" class="xxx" id="aaa" onclick="funzione(); return false;">ythertyheythtyh</a></strong>
<p>gethegthyh</p>
<p>htyhythy<a href="simplelink.html">icici</a> hetrhtyh</p>';
echo strip_only_tags($html, '<a>');