chaîne de premiers résultats url et rapport PHP Strip
Question
Russel Peter video: <a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a> russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>
J'ai une chaîne qui contient du texte et des balises et avec urls clos comme l'exemple ci-dessus.
Je veux enlever le premier SEULE- balise trouvée
<a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a>
et à partir de cela, dépouiller l'URL à l'intérieur du href = "".
Mais ... je veux aussi être en mesure magasin le texte autour de la balise qui est retirée.
Je cherche quelque chose comme ça que le résultat final après tout le décapage:
$originalstring = "Russel Peter video: <a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a> russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>";
$preurl = "Russel Peter video: ";
$atag = "<a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a>";
$url = "http://www.youtube.com/watch?v=2bP9tRhJRTw";
$afterurl = " russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>";
MERCI DE VOTRE AIDE
NOTE: Excusez-moi si je l'ai utilisé les termes mauvais
.La solution
$orgstring = 'Russel Peter video: <a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw">www.youtube.com/watch?v=2bP9tRhJRTw</a> russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>';
$s = explode(":",$orgstring,2);
$preurl = $s[0];
$href= explode('href="',$s[1]);
$url=preg_replace("/\">.*/","",$href[1]);
$atag = preg_replace("/\">.*/","",$s[1]);
$after=explode("</a>",$orgstring,2);
$afterurl=$after[1];
print "\$preurl: $preurl\n";
print "\$url: $url\n";
print "\$atag: $atag\n";
print "\$afterurl: $afterurl\n";
output
$ php test.php
$preurl: Russel Peter video
$url: http://www.youtube.com/watch?v=2bP9tRhJRTw
$atag: <a rel="nofollow" href="http://www.youtube.com/watch?v=2bP9tRhJRTw
$afterurl: russel peters video blah blah. Turtles: <a href="http://turtles.com">turtles.com</a>
Autres conseils
Vous pouvez utiliser explode($tags, ' ', 2);
pour obtenir un tableau de deux éléments, le premier étant la première balise (l'URL) et le second étant tous les autres balises, si vous êtes sûr qu'ils vont toujours être séparés par des espaces.