Nous pouvons localiser et récupérer par programme le contenu d'une grande chaîne de saisie de texte en utilisant deux approches distinctes.
Nous pouvons soit 1) rechercher des entrées de texte mot pour mot (équivalent à une recherche « CTRL F » dans un document ou un navigateur), ou nous pouvons 2) rechercher du texte via une expression regex.
Utiliser les exemples de code fournis ci-dessous, nous pouvons facilement profiter de deux des API gratuites qui exécutent respectivement les deux méthodes de recherche. Nous pouvons utiliser soit une API avec une clé API Cloudmersive gratuite (cela nous permettra de faire jusqu'à 800 appels API par mois sans aucun engagement supplémentaire).
Tout d'abord, installons le SDK client avec Composer :
composer require cloudmersive/cloudmersive_document_convert_api_client
Après cela, utilisons le code restant pour appeler nos fonctions.
Pour effectuer une simple correspondance de chaîne de texte, nous pouvons structurer notre demande de saisie en fonction du JSON suivant exemple :
{ "TextContent": "string", "TargetString": "string" }
Et nous pouvons appeler notre fonction en utilisant les exemples de code suivants :
<?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure API key authorization: Apikey $config = SwaggerClientConfiguration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY'); $apiInstance = new SwaggerClientApiEditTextApi( new GuzzleHttpClient(), $config ); $request = new SwaggerClientModelFindStringSimpleRequest(); // SwaggerClientModelFindStringSimpleRequest | Input request try { $result = $apiInstance->editTextFindSimple($request); print_r($result); } catch (Exception $e) { echo 'Exception when calling EditTextApi->editTextFindSimple: ', $e->getMessage(), PHP_EOL; } ?>
Et pour rechercher via une expression regex, nous pouvons structurer notre demande de saisie en suivant l'exemple JSON ci-dessous :
{ "TextContent": "string", "TargetRegex": "string", "MatchCase": true }
Et nous pouvons appeler notre fonction en utilisant le code ci-dessous :
<?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure API key authorization: Apikey $config = SwaggerClientConfiguration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY'); $apiInstance = new SwaggerClientApiEditTextApi( new GuzzleHttpClient(), $config ); $request = new SwaggerClientModelFindStringRegexRequest(); // SwaggerClientModelFindStringRegexRequest | Input request try { $result = $apiInstance->editTextFindRegex($request); print_r($result); } catch (Exception $e) { echo 'Exception when calling EditTextApi->editTextFindRegex: ', $e->getMessage(), PHP_EOL; } ?>
Nous allons obtenez un objet de réponse unique pour les deux demandes. Notre simple chaîne de texte la recherche renverra des correspondances de texte en suivant l'exemple JSON ci-dessous structure :
{ "Successful": true, "Matches": [ { "CharacterOffsetStart": 0, "CharacterOffsetEnd": 0, "ContainingLine": "string" } ], "MatchCount": 0 }
Et notre recherche d'expressions regex structurera notre réponse comme ceci :
{ "Successful": true, "Matches": [ { "CharacterOffsetStart": 0, "CharacterOffsetEnd": 0, "ContainingLine": "string", "MatchValue": "string", "MatchGroups": [ "string" ] } ], "MatchCount": 0 }
C'est tout ce qu'il y a à faire !
L'une ou l'autre solution peut nous aider automatiser le processus de récupération de contenu spécifique à partir des entrées de texte dans nos applications PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!