Devise\Pages\Docs\LiveSpan::replace PHP Method

replace() public method

[replace description]
public replace ( [type] $str ) : [type]
$str [type]
return [type]
    public function replace($str)
    {
        return $this->Str->replaceBetween($str, '@livespan', function ($between) {
            $parts = explode(',', $between);
            $selector = array_shift($parts);
            $default = implode(',', $parts);
            $default = substr($default, 0, 1) === ' ' ? substr($default, 1) : $default;
            return "<span data-livespan=\"{$selector}\">{$default}</span>";
        });
    }

Usage Example

Example #1
0
 public function test_it_can_replace_live_span()
 {
     $original = '@if(DeviseUser::checkRule(\'@livespan(#target-form-id,default value)\')) @endif <h3>\\@livespan(selector, value)</h3> @livespan(selector) @livespan() @livespan[selector, durka]';
     $LiveSpan = new LiveSpan(new \Devise\Support\Str());
     $replaced = $LiveSpan->replace($original);
     assertEquals('@if(DeviseUser::checkRule(\'<span data-livespan="#target-form-id">default value</span>\')) @endif <h3>@livespan(selector, value)</h3> <span data-livespan="selector"></span> <span data-livespan=""></span> <span data-livespan="selector">durka</span>', $replaced);
 }