Je travaille avec de longs paragraphes de texte qui sont consultables en utilisant MySQL et PHP. Je souhaiterais pouvoir rechercher et mettre en évidence uniquement les termes de recherche pertinents et utiliser regex pour les isoler.Extrait extraits avec PCRE regex
Par exemple, je voudrais transformer un paragraphe Lorem ipsum,
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
laborum.
dans quelque chose comme ceci lors de la recherche pour "dolor",
Lorem ipsum *dolor* sit amet ... labore et *dolor*e magna aliqua ... aute irure *dolor* in reprehenderit ... esse cillum *dolor*e eu fugiat ...
avec deux (ou cependant beaucoup) mots avant et après le terme.
Jusqu'à présent, j'ai ce
search - .*?(\w+?\b\s){2}(dolor)(\w+?\b\s){2}.*?
replace - ... $1*$2*$3...
mais il est pas tout à fait travailler; il ne trouve qu'un mot avant et après (malgré le {2}), échoue lorsque la chaîne de recherche est au début ou à la fin d'une chaîne (ou phrase), et n'élimine pas le reste du paragraphe après l'instance finale trouvée de la chaîne de recherche.
Quelle est la meilleure façon de faire cela?
Merci!
Brillant! C'est si proche ... Le seul problème est maintenant quand j'ajoute. *? Au début et à la fin de la recherche, tout ce qui n'est pas $ 1, $ 3 ou $ 4 est coupé (ce qui est bien) jusqu'au dernier groupe trouvé, quand il imprime juste le reste de la chaîne (pas bon) – Andrew
I ' Je ne suis pas sûr que vous en ayez besoin! Vous n'avez pas d'ancre comme^ou $ là-dedans, donc ça va heureusement correspondre au milieu d'une chaîne. Cela signifie que vous n'avez pas vraiment besoin. * Sauf si vous souhaitez tout capturer. Est-ce que je manque quelque chose? –
Ouais, je veux seulement sortir ... $ 1 $ 3 $ 4 ... - En ce moment, sauf si j'utilise. *, Le paragraphe entier est retourné avec les ellipses et les astérisques ajoutés – Andrew