J'essaie de faire correspondre <a>
balises dans mon contenu et remplacer puis avec le texte du lien suivi de l'URL entre crochets pour une version imprimée. L'exemple suivant fonctionne s'il n'y a que le "href". Si le <a>
contient un autre attribut, il correspond trop et ne renvoie pas le résultat souhaité. Comment puis-je faire correspondre l'URL et le texte du lien et c'est tout?Ancrer les balises au texte brut dans le contenu
Voici mon code:
<?php
$content = '<a href="http://www.website.com">This is a text link</a>';
$result = preg_replace('/<a href="(http:\/\/[A-Za-z0-9\\.:\/]{1,})">([\\s\\S]*?)<\/a>/',
'<strong>\\2</strong> [\\1]', $content);
echo $result;
?>
Résultat souhaité:
<strong>This is a text link </strong> [http://www.website.com]
Merci, Jason
Avez-vous déjà été capable de résoudre votre problème en utilisant l'une des réponses? –
Merci de votre retour. Oui, j'étais capable d'utiliser le "?" pour le match ungreedy pour obtenir le résultat désiré. Cela fonctionne bien pour cette situation particulière. Cependant, j'aime votre méthode d'analyse du DOM. J'ai besoin de jouer avec ça pour mieux le comprendre. – JasonBartholme