diff --git a/core/modules/migrate/src/Plugin/migrate/process/Substr.php b/core/modules/migrate/src/Plugin/migrate/process/Substr.php index 8ebc98c6d0bf33ad7fb5482df0ca150a196b634f..1f852a9238b69460dab82157d9f4c7598904b6d2 100644 --- a/core/modules/migrate/src/Plugin/migrate/process/Substr.php +++ b/core/modules/migrate/src/Plugin/migrate/process/Substr.php @@ -9,9 +9,44 @@ use Drupal\Component\Utility\Unicode; /** - * This plugin returns a substring of the current value. + * Returns a substring of the input value. * - * @link https://www.drupal.org/node/2771965 Online handbook documentation for substr process plugin @endlink + * The substr process plugin returns the portion of the input value specified by + * the start and length parameters. This is a wrapper around the PHP substr() + * function. + * + * Available configuration keys: + * - start: (optional) The returned string will start this many characters after + * the beginning of the string. Defaults to NULL. + * - length: (optional) The maximum number of characters in the returned + * string. Defaults to NULL. + * + * If start is NULL and length is an integer, the start position is the + * beginning of the string. If start is an integer and length is NULL, the + * substring starting from the start position until the end of the string will + * be returned. If both start and length are NULL the entire string is returned. + * + * Example: + * + * @code + * process: + * new_text_field: + * plugin: substr + * source: some_text_field + * start: 6 + * length: 10 + * @endcode + * + * If some_text_field was 'Marie Skłodowska Curie' then + * $destination['new_text_field'] would be 'Skłodowska'. + * + * The PHP equivalent of this is: + * + * @code + * $destination['new_text_field'] = substr($source['some_text_field'], 6, 10); + * @endcode + * + * @see \Drupal\migrate\Plugin\MigrateProcessInterface * * @MigrateProcessPlugin( * id = "substr"