Devrait être assez simple pour quelqu'un qui connaît regex. Je ne suis malheureusement pas parmi ceux qui sont au courant.Regex et PHP: ajout d'ellipses après X nombre de caractères
Comment peut-on ajouter des ellipses à quelque chose de plus de 27 caractères dans l'exemple ci-dessous, de sorte que le quatrième lien répertorié apparaîtra comme http://iamanextremely.com/long/lin
?
<?php
$input = <<<EOF
http://www.example.com/
http://example.com
www.example.com
http://iamanextremely.com/long/link/so/I/will/be/trimmed/down/a/bit/so/i/dont/mess/up/text/wrapping.html
EOF;
$output = preg_replace("/(http:\/\/|(www\.))(([^\s<]{4,27})[^(\s|,)<]*)/",
'<a href="http://$2$3" rel="nofollow">http://$2$4</a>', $input);
duplication possible de [Tronquer une chaîne multi-octets à n caractères] (http://stackoverflow.com/questions/2154220/truncate-a-multibyte-string-to-n-chars) – Gordon
Conseil pro: Ne jamais commencer une question avec "devrait être assez simple", car il ne l'est pas souvent. –
@Andy, j'ai pensé cette chose même moi-même. –