public function postIndex() { $imagem = Input::file('imagem'); if (is_null($imagem)) { throw new Exception('Você não selecionou um arquivo'); } $destinationPath = public_path() . DIRECTORY_SEPARATOR . 'uploads'; $filename = date('YmdHis') . '_' . $imagem->getClientOriginalName(); if ($imagem->move($destinationPath, $filename)) { //Load view laravel paths $paths = Config::get('view.paths'); //Load file view $file = $paths[0] . DIRECTORY_SEPARATOR . Input::get('view') . '.blade.php'; $html = file_get_contents($file); //Init crawler $crawler = new HtmlPageCrawler($html); //Set filter $filter = '#' . Input::get('id'); //Edit node $crawler->filter($filter)->setAttribute('src', '/uploads/' . $filename); $newHTML = html_entity_decode($crawler->saveHTML()); $newHTML = str_replace('%7B%7B', '{{', $newHTML); $newHTML = str_replace('%7D%7D', '}}', $newHTML); $newHTML = str_replace('%24', '$', $newHTML); $newHTML = str_replace('%20', ' ', $newHTML); $newHTML = str_replace('%7C', '|', $newHTML); //write file file_put_contents($file, $newHTML); return Redirect::back()->with('alert', 'Banner enviado com sucesso!'); } }
public function __construct(\Wa72\HtmlPageDom\HtmlPageCrawler &$c, $key = false) { $this->node = $c; if ($key === false) { $form = $c->saveHTML(); $key = md5($form . '--' . session_id()); } $this->key = $key; $this->secure_input($key); $this->process_post(); }
public function postIndex() { //Load view laravel paths $paths = Config::get('view.paths'); //Load file view $file = $paths[0] . DIRECTORY_SEPARATOR . Input::get('view') . '.blade.php'; $html = file_get_contents($file); //Init crawler $crawler = new HtmlPageCrawler($html); //Set filter $filter = '#' . Input::get('id'); //Edit node $crawler->filter($filter)->setInnerHtml(Input::get('html')); $newHTML = html_entity_decode($crawler->saveHTML()); $newHTML = str_replace('%7B%7B', '{{', $newHTML); $newHTML = str_replace('%7D%7D', '}}', $newHTML); $newHTML = str_replace('%24', '$', $newHTML); $newHTML = str_replace('%20', ' ', $newHTML); $newHTML = str_replace('%7C', '|', $newHTML); //write file file_put_contents($file, $newHTML); }
/** * @covers Wa72\HtmlPageDom\HtmlPageCrawler::wrap */ public function testWrap() { $c = new HtmlPageCrawler('<div id="content"><h1>Title</h1></div>'); $c->filter('h1')->wrap('<div class="innercontent">'); $this->assertEquals('<div id="content"><div class="innercontent"><h1>Title</h1></div></div>', $c->saveHTML()); $c = new HtmlPageCrawler('<div id="content"><h1>Title</h1></div>'); $c->filter('h1')->wrap('<div class="ic">asdf<div class="a1"><div class="a2"></div></div></div></div>'); $this->assertEquals('<div id="content"><div class="ic">asdf<div class="a1"><div class="a2"><h1>Title</h1></div></div></div></div>', $c->saveHTML()); $c = new HtmlPageCrawler('<div id="content"><h1>Title</h1></div>'); $c->filter('h1')->wrap('<div class="ic">asdf</div><div>jkl</div>'); // wrap has more than 1 root element $this->assertEquals('<div id="content"><div class="ic">asdf<h1>Title</h1></div></div>', $c->saveHTML()); // only first element is used // Test for wrapping multiple nodes $c = new HtmlPageCrawler('<div id="content"><p>p1</p><p>p2</p></div>'); $c->filter('p')->wrap('<div class="p"></div>'); $this->assertEquals('<div id="content"><div class="p"><p>p1</p></div><div class="p"><p>p2</p></div></div>', $c->saveHTML()); $c = new HtmlPageCrawler('plain text node'); $c->wrap('<div class="ic"></div>'); $this->assertEquals('<div class="ic">plain text node</div>', $c->parents()->eq(0)->saveHTML()); $c = HtmlPageCrawler::create('<div>'); $m = HtmlPageCrawler::create('message 1')->appendTo($c); $m->wrap('<p>'); $m = HtmlPageCrawler::create('message 2')->appendTo($c); $m->wrap('<p>'); $this->assertEquals('<div><p>message 1</p><p>message 2</p></div>', $c->saveHTML()); }