Open lotsofbytes opened 2 years ago
A laravel blade file is not really a html file. It includes program directives for conditions and loops. But, because it starts with @ (like @foreach), the laravel directrives get escaped by domReplaceHelpers.
For example,
@foreach ($company->members as $m) @if ($m->checkbox) {{ $m->checkbox }} @else <span class="" title="{{ $m->profile }}">{{ $m->name }}</span> @endif @endforeach
will be parsed to:
____SIMPLE_HTML_DOM__VOKU__AT____foreach ($company->members as $m)\n ____SIMPLE_HTML_DOM__VOKU__AT____if ($m->checkbox)\n {{ $m->checkbox }}\n ____SIMPLE_HTML_DOM__VOKU__AT____else\n <span class="" title="{{ $m->profile }}">{{ $m->name }}</span>\n ____SIMPLE_HTML_DOM__VOKU__AT____endif\n ____SIMPLE_HTML_DOM__VOKU__AT____endforeach\n
So, this works well for me to manipulate html parts of the blade file.
However, a case below messes it up:
@for ($i = 2; $i <= 6; $i++) <div class="form-group"> <label for="file{{ $i }}" class="col-md-2 control-label">添付 {{ $i }}</label> <div class="col-md-10"> <input type="file" name="file{{ $i }}" id="file{{ $i }}"> <input id="filename{{ $i }}" type="hidden" name="filename{{ $i }}" value=""> {{ HTML::error($errors, 'file{$i}') }} </div> </div> @endfor
You see below, the for part gets truncated.
____SIMPLE_HTML_DOM__VOKU__AT____for ($i = 2; $i \n <label for="file{{ $i }}" class="col-md-2 control-label">添付\n {{ $i }}</label>\n <div class="col-md-10">\n <input type="file" name="file{{ $i }}" id="file{{ $i }}"/>\n <input id="filename{{ $i }}" type="hidden" name="filename{{ $i }}" value=""/>\n <x-error name="file{$i}"/>\n </div>\n </x-form></div>\n ____SIMPLE_HTML_DOM__VOKU__AT____endfor\n
I believe that because 'i <= 6' includesa html starting tag: <.
I wonder if there is anyway to prevent this from happening.
Thanks in advance.
@voku, Do you have any suggestion?
A laravel blade file is not really a html file. It includes program directives for conditions and loops. But, because it starts with @ (like @foreach), the laravel directrives get escaped by domReplaceHelpers.
For example,
will be parsed to:
So, this works well for me to manipulate html parts of the blade file.
However, a case below messes it up:
You see below, the for part gets truncated.
I believe that because 'i <= 6' includesa html starting tag: <.
I wonder if there is anyway to prevent this from happening.
Thanks in advance.