Reputation: 331
I have to fetch all string that starts with [[{
and ends with }]]
. I tried to use:
'/^\[\[\{*$\}\}\]\]/'
but it does not work.
Basically I have to fetch some JSON string embedded inside HTML documents.
Upvotes: 1
Views: 41
Reputation: 3175
This is the perfect use for lookarounds and you can use them like so:
$re = '/(?=\[\[\{).*?(?<=\}\]\])/m';
preg_match_all($re, $str, $matches);
Here, preg_match_all()
searches $str
for all matches to the regular expression given in $re
and puts them in $matches
.
Upvotes: 2
Reputation: 32189
You should put anchors on it correctly. They are currently in the wrong place. This is the proper version. You should use it with preg_match_all(...)
:
/\[\[\{.*?\}\]\]/
Upvotes: 2