Sélectionner un mot et les 20 caractères à coté

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Sélectionner un mot et les 20 caractères à coté

par Arcanis » 14 févr. 2007, 20:48

Finalement, j'ai trouvée une autre solution: je récupère la position de la première occurence du mot (à l'aide de stripos), je fais un substr pour récupérer la partie qui me convient, puis je supprime la chaine trouvée de la variable content.

Merci quand même!

a+

par goeb » 13 févr. 2007, 14:28

salut,
il me semble qu'il y a 2 erreurs :

1. il faut que la fonction snip_content fasse un return.

2. pour les 20 caractères, c'est .{20} et pas .{1,20}

Sélectionner un mot et les 20 caractères à coté

par Arcanis » 12 févr. 2007, 16:44

Salut,

Je cherche maintenant à récupérer un mot dans un texte, ainsi que les 20 caractères à coté (le mot peut se trouver plusieurs fois dans un même texte, et il faut récupérer toutes les occurences). J'ai donc pensé utiliser les regex, mais j'ai du me tromper quelque part.

Ma regex:
$result[2] = preg_replace_callback("((.{1,20})(".$regex_keywords.")(.{1,20}))","snip_content",strip_tags($result[$t+2]));
Sachant que $regex_keywords contient "PHP" (qui est dans le texte) et que la fonction snip_content est la suivante:
	function snip_content($var) {
		global $content;
		$content.="...".$var[1].$var[2].$var[3]."...";
	}
Malheureusement, ça ne marche pas...
Vous ne sauriez pas pourquoi?

Merci d'avance!

Arcanis