réduire le texte d'un lien dans une chaine [PHP][REGEX] - PHP - Programmation
Marsh Posté le 19-09-2007 à 08:53:20
Code :
|
ou un truc dans le genre
Marsh Posté le 19-09-2007 à 15:45:24
euh...
parse error : il comprend pas le $1... et moi non plus
c'est ce genre de choses que j'avais testé, mais sans succès.
apparemment, ce système est utilisé sur ce forum (HFR) pour écourter les liens...
d'autres suggestions ?
Marsh Posté le 19-09-2007 à 16:05:44
bon.... j'ai un semblant de réponse :
j'arrive à remplacer un lien comme il faut :
Code :
|
ca, ca a l'air de marcher.
maintenant, si j'ai plusieurs liens... ca ne marche plus... à cause du $matches[1], il remplace tout par le même mot/site.
Code :
|
écrase les deux valeurs avec : http://www.monsite_tres_tres_tres_long.com
comment faire correspondre tout ca avec preg_replace ?
merci
Marsh Posté le 19-09-2007 à 17:28:49
nabbo a écrit : euh... |
\\1 à la place, désolé l'habitude du perl.
voir la page de doc sur l'utilisation de l'option e
Marsh Posté le 19-09-2007 à 17:39:24
ca ne marche pas mieux...
où est ce que je dois le placer ?
d'après la doc, le $n se place dans le code, le \\1 se place dans la regex... mais je comprends pas quand même...
Marsh Posté le 19-09-2007 à 17:58:13
http://fr.php.net/preg_replace
Exemple 1878. Utilisation de l'option 'e'
<?php
preg_replace("/(<\/?)(\w+)([^>]*> )/e",
"'\\1'.strtoupper('\\2').'\\3'",
$html_body);
?>
Marsh Posté le 18-09-2007 à 23:43:18
je bute sur un problème de regex.
je cherche à réduire le texte qui s'affiche dans un lien.
exemple :
je cherche à remplacer :
par :
pour l'instant, la seule chose que j'arrive à faire c'est supprimer complètement le lien (regex toute faite) et garder le texte vierge :
j'ai cru comprendre que le '$2' , comme deuxième argument de preg_replace, renvoie à (.*?), mis en gras ci dessus.
ensuite, je peux rajouter le lien, grace à une fonction trouvée sur php.net/preg_match :
là, je dois agir sur le $3, mais je ne sais pas comment en réduire la longueur...
pour résumer,
comment je peux faire pour garder le lien (attribut href) entier, mais réduire le texte affiché ?
je sèche un peu ...
merci de votre aide
Message édité par nabbo le 19-09-2007 à 00:11:11