TextStrings: add new methods for working with interpolated variables #321
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This introduces three new methods to the
PHPCSUtils\Utils\TextStrings
class.Methods:
getEmbeds()
- to retrieve embedded variables and expressions from an arbitrary string, typically the contents of aT_DOUBLE_QUOTED_STRING
orT_HEREDOC
. Returns an array of the variables/expression recognized as strings with the offset within the string at which the embed was found as the keys.stripEmbeds()
- strip embedded variables/expression from an arbitrary string, typically the contents of aT_DOUBLE_QUOTED_STRING
orT_HEREDOC
. Returns the adjusted string.getStripEmbeds()
- the actual "worker" method which does both of the above in one go.This method is
public
for those rare cases where both the embeds as well as the stripped text is needed.These methods support all types of variable/expression embedding as supported by PHP. Please report edge cases if you run into one.
These methods are much improved versions of the methods which have previously been battle-tested in various forms in the PHPCompatibility and the WordPressCS standards.
Includes extensive, dedicated unit tests.