PHP est un langage côté serveur. Ainsi, une fois la sortie rendue, vous ne pouvez plus la modifier. (Sauf si vous téléchargez le contenu avec PHP puis sortir les données modifiées, mais qui ne semble utile si vous ne pouvez pas accéder à la source Orignal) Si vous créez la sortie en php, vous pouvez utiliser:
$alt = 'text';
echo '<a title="'.$alt.'" href ="page.html"><img src="image.jpg" alt="'.$alt.'"></a>';
Si vous avez déjà que la sortie, vous pouvez utiliser jquery (http://jquery.com/)
<script type='text/javascript'>
//perform after page is done
$(function() {
//each image in an a tag
$('a img').each(function() {
var $el = $(this);
var alt = $el.attr('alt');
$el.parent('a').attr('title', alt);
});
});
</script>
Mise à jour
Si la modification de chaîne pure PHP, vous pouvez également utiliser une expression régulière pour changer, au lieu de la manipulation de dom:
$string = '<a title="" href ="page.html"><img src="image.jpg" alt="text"></a>';
$pattern = '/<a(.*?)title="(.*?)"(.*?)<img(.*?)alt="(.*?)"(.*?)<\/a>/i';
$replacement = '<a${1}title="$5"${3}<img${4}alt="${5}"${6}</a>';
echo preg_replace($pattern, $replacement, $string);
Oui, il existe un moyen, par exemple DOM. Qu'avez-vous essayé? –
Si vous restituez le tout via PHP, pourquoi ne pouvez-vous pas simplement rendre l'attribut alt pour les deux balises? – techfoobar
ce serait beaucoup plus facile/plus rapide si vous utilisez jquery/javascript pour cela. Si vous utilisez PHP, alors aussi, il vaut mieux avoir l'identifiant de chaque élément de html pour choisir le bon titre. –