24. DOMException
…/­vendor/­thujohn/­pdf/­src/­Thujohn/­Pdf/­dompdf/­lib/­html5lib/­TreeBuilder.php3169
23. DOMElement setAttribute
…/­vendor/­thujohn/­pdf/­src/­Thujohn/­Pdf/­dompdf/­lib/­html5lib/­TreeBuilder.php3169
22. HTML5_TreeBuilder insertElement
…/­vendor/­thujohn/­pdf/­src/­Thujohn/­Pdf/­dompdf/­lib/­html5lib/­TreeBuilder.php1051
21. HTML5_TreeBuilder emitToken
…/­vendor/­thujohn/­pdf/­src/­Thujohn/­Pdf/­dompdf/­lib/­html5lib/­Tokenizer.php2417
20. HTML5_Tokenizer emitToken
…/­vendor/­thujohn/­pdf/­src/­Thujohn/­Pdf/­dompdf/­lib/­html5lib/­Tokenizer.php708
19. HTML5_Tokenizer parse
…/­vendor/­thujohn/­pdf/­src/­Thujohn/­Pdf/­dompdf/­include/­dompdf.cls.php465
18. DOMPDF load_html
…/­vendor/­thujohn/­pdf/­src/­Thujohn/­Pdf/­Pdf.php29
17. Thujohn\Pdf\Pdf load
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­support/­Illuminate/­Support/­Facades/­Facade.php214
16. Illuminate\Support\Facades\Facade __callStatic
…/­app/­controllers/­SiteController.php70
15. Thujohn\Pdf\PdfFacade load
…/­app/­controllers/­SiteController.php70
14. SiteController callAction
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­routing/­Illuminate/­Routing/­ControllerDispatcher.php93
13. Illuminate\Routing\ControllerDispatcher call
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­routing/­Illuminate/­Routing/­ControllerDispatcher.php62
12. Illuminate\Routing\ControllerDispatcher dispatch
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­routing/­Illuminate/­Routing/­Router.php967
11. Illuminate\Routing\Router Illuminate\Routing\{closure}
<#unknown>0
10. call_user_func_array
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­routing/­Illuminate/­Routing/­Route.php109
9. Illuminate\Routing\Route run
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­routing/­Illuminate/­Routing/­Router.php1033
8. Illuminate\Routing\Router dispatchToRoute
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­routing/­Illuminate/­Routing/­Router.php1001
7. Illuminate\Routing\Router dispatch
…/­vendor/­laravel/­framework/­src/­Illuminate/­Foundation/­Application.php776
6. Illuminate\Foundation\Application dispatch
…/­vendor/­laravel/­framework/­src/­Illuminate/­Foundation/­Application.php746
5. Illuminate\Foundation\Application handle
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­session/­Illuminate/­Session/­Middleware.php72
4. Illuminate\Session\Middleware handle
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­cookie/­Illuminate/­Cookie/­Queue.php47
3. Illuminate\Cookie\Queue handle
…/­workbench/­ultimate/­valence/­vendor/­illuminate/­cookie/­Illuminate/­Cookie/­Guard.php51
2. Illuminate\Cookie\Guard handle
…/­vendor/­stack/­builder/­src/­Stack/­StackedHttpKernel.php23
1. Stack\StackedHttpKernel handle
…/­vendor/­laravel/­framework/­src/­Illuminate/­Foundation/­Application.php642
0. Illuminate\Foundation\Application run
…/­public_html/­index.php50

DOMException (5) DOMException thrown with message "Invalid Character Error" Stacktrace: #24 DOMException in /home/findulti/vendor/thujohn/pdf/src/Thujohn/Pdf/dompdf/lib/html5lib/TreeBuilder.php:3169 #23 DOMElement:setAttribute in /home/findulti/vendor/thujohn/pdf/src/Thujohn/Pdf/dompdf/lib/html5lib/TreeBuilder.php:3169 #22 HTML5_TreeBuilder:insertElement in /home/findulti/vendor/thujohn/pdf/src/Thujohn/Pdf/dompdf/lib/html5lib/TreeBuilder.php:1051 #21 HTML5_TreeBuilder:emitToken in /home/findulti/vendor/thujohn/pdf/src/Thujohn/Pdf/dompdf/lib/html5lib/Tokenizer.php:2417 #20 HTML5_Tokenizer:emitToken in /home/findulti/vendor/thujohn/pdf/src/Thujohn/Pdf/dompdf/lib/html5lib/Tokenizer.php:708 #19 HTML5_Tokenizer:parse in /home/findulti/vendor/thujohn/pdf/src/Thujohn/Pdf/dompdf/include/dompdf.cls.php:465 #18 DOMPDF:load_html in /home/findulti/vendor/thujohn/pdf/src/Thujohn/Pdf/Pdf.php:29 #17 Thujohn\Pdf\Pdf:load in /home/findulti/workbench/ultimate/valence/vendor/illuminate/support/Illuminate/Support/Facades/Facade.php:214 #16 Illuminate\Support\Facades\Facade:__callStatic in /home/findulti/app/controllers/SiteController.php:70 #15 Thujohn\Pdf\PdfFacade:load in /home/findulti/app/controllers/SiteController.php:70 #14 SiteController:callAction in /home/findulti/workbench/ultimate/valence/vendor/illuminate/routing/Illuminate/Routing/ControllerDispatcher.php:93 #13 Illuminate\Routing\ControllerDispatcher:call in /home/findulti/workbench/ultimate/valence/vendor/illuminate/routing/Illuminate/Routing/ControllerDispatcher.php:62 #12 Illuminate\Routing\ControllerDispatcher:dispatch in /home/findulti/workbench/ultimate/valence/vendor/illuminate/routing/Illuminate/Routing/Router.php:967 #11 Illuminate\Routing\Router:Illuminate\Routing\{closure} in <#unknown>:0 #10 call_user_func_array in /home/findulti/workbench/ultimate/valence/vendor/illuminate/routing/Illuminate/Routing/Route.php:109 #9 Illuminate\Routing\Route:run in /home/findulti/workbench/ultimate/valence/vendor/illuminate/routing/Illuminate/Routing/Router.php:1033 #8 Illuminate\Routing\Router:dispatchToRoute in /home/findulti/workbench/ultimate/valence/vendor/illuminate/routing/Illuminate/Routing/Router.php:1001 #7 Illuminate\Routing\Router:dispatch in /home/findulti/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:776 #6 Illuminate\Foundation\Application:dispatch in /home/findulti/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:746 #5 Illuminate\Foundation\Application:handle in /home/findulti/workbench/ultimate/valence/vendor/illuminate/session/Illuminate/Session/Middleware.php:72 #4 Illuminate\Session\Middleware:handle in /home/findulti/workbench/ultimate/valence/vendor/illuminate/cookie/Illuminate/Cookie/Queue.php:47 #3 Illuminate\Cookie\Queue:handle in /home/findulti/workbench/ultimate/valence/vendor/illuminate/cookie/Illuminate/Cookie/Guard.php:51 #2 Illuminate\Cookie\Guard:handle in /home/findulti/vendor/stack/builder/src/Stack/StackedHttpKernel.php:23 #1 Stack\StackedHttpKernel:handle in /home/findulti/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:642 #0 Illuminate\Foundation\Application:run in /home/findulti/public_html/index.php:50

Invalid Character Error

 
    private function insertElement($token, $append = true) {
        $el = $this->dom->createElementNS(self::NS_HTML, $token['name']);
 
        if (!empty($token['attr'])) {
            foreach($token['attr'] as $attr) {
                if(!$el->hasAttribute($attr['name'])) {
                    $el->setAttribute($attr['name'], $attr['value']);
                }
            }
 
    private function insertElement($token, $append = true) {
        $el = $this->dom->createElementNS(self::NS_HTML, $token['name']);
 
        if (!empty($token['attr'])) {
            foreach($token['attr'] as $attr) {
                if(!$el->hasAttribute($attr['name'])) {
                    $el->setAttribute($attr['name'], $attr['value']);
                }
            }
                        }
                    }
 
                    /* Reconstruct the active formatting elements, if any. */
                    $this->reconstructActiveFormattingElements();
 
                    /* Insert an HTML element for the token. */
                    $el = $this->insertElement($token);
 
                    /* Add that element to the list of active formatting
                    $hash[$keypair['name']] = $keypair['value'];
                }
            }
        }
 
        if(!$dry) {
            // the current structure of attributes is not a terribly good one
            $this->tree->emitToken($token);
        }
 
                        /* U+003D EQUALS SIGN (=)
                        Switch to the before attribute value state. */
                        $state = 'before attribute value';
 
                    } elseif($char === '>') {
                        /* U+003E GREATER-THAN SIGN (>)
                        Emit the current tag token. Switch to the data state. */
                        $this->emitToken($this->token);
                        $state = 'data';
 
    // @todo Take the quirksmode into account
    // http://hsivonen.iki.fi/doctype/
    // https://developer.mozilla.org/en/mozilla's_quirks_mode
    $quirksmode = false;
    
    if ( DOMPDF_ENABLE_HTML5PARSER ) {
      $tokenizer = new HTML5_Tokenizer($str);
      $tokenizer->parse();
      $doc = $tokenizer->save();
      
	}
 
	public function load($html, $size = 'A4', $orientation = 'portrait'){
		$this->html = $html;
		$this->size = $size;
		$this->orientation = $orientation;
 
		$this->dompdf->load_html($this->html);
		$this->setPaper($this->size, $this->orientation);
 
			case 1:
				return $instance->$method($args[0]);
 
			case 2:
				return $instance->$method($args[0], $args[1]);
 
			case 3:
				return $instance->$method($args[0], $args[1], $args[2]);
 
			case 4:
        // used we will assume we want to just return the layout view as any nested
        // views were probably bound on this view during this controller actions.
        if (is_null($response) && ! is_null($this->layout)) {
            $response = $this->layout;
        }
 
        if ($this->isPDF) {
            return \PDF::load($response, 'A4', 'portrait')
                ->download(\Str::slug(\Request::path()));
            exit();
        // used we will assume we want to just return the layout view as any nested
        // views were probably bound on this view during this controller actions.
        if (is_null($response) && ! is_null($this->layout)) {
            $response = $this->layout;
        }
 
        if ($this->isPDF) {
            return \PDF::load($response, 'A4', 'portrait')
                ->download(\Str::slug(\Request::path()));
            exit();
	 * @param  string  $method
	 * @return mixed
	 */
	protected function call($instance, $route, $method)
	{
		$parameters = $route->parametersWithoutNulls();
 
		return $instance->callAction($method, $parameters);
	}
 
		$response = $this->before($instance, $route, $request, $method);
 
		// If no before filters returned a response we'll call the method on the controller
		// to get the response to be returned to the router. We will then return it back
		// out for processing by this router and the after filters can be called then.
		if (is_null($response))
		{
			$response = $this->call($instance, $route, $method);
		}
 
			$request = $this->getCurrentRequest();
 
			// Now we can split the controller and method out of the action string so that we
			// can call them appropriately on the class. This controller and method are in
			// in the Class@method format and we need to explode them out then use them.
			list($class, $method) = explode('@', $controller);
 
			return $d->dispatch($route, $request, $class, $method);
		};
	}
<#unknown>
	 *
	 * @return mixed
	 */
	public function run()
	{
		$parameters = array_filter($this->parameters(), function($p) { return isset($p); });
 
		return call_user_func_array($this->action['uses'], $parameters);
	}
 
		// Once we have successfully matched the incoming request to a given route we
		// can call the before filters on that route. This works similar to global
		// filters in that if a response is returned we will not call the route.
		$response = $this->callRouteBefore($route, $request);
 
		if (is_null($response))
		{
			$response = $route->run($request);
		}
 
		// If no response was returned from the before filter, we will call the proper
		// route instance to get the response. If no route is found a response will
		// still get returned based on why no routes were found for this request.
		$response = $this->callFilter('before', $request);
 
		if (is_null($response))
		{
			$response = $this->dispatchToRoute($request);
		}
 
		}
 
		if ($this->runningUnitTests() && ! $this['session']->isStarted())
		{
			$this['session']->start();
		}
 
		return $this['router']->dispatch($this->prepareRequest($request));
	}
 
	{
		try
		{
			$this->refreshRequest($request = Request::createFromBase($request));
 
			$this->boot();
 
			return $this->dispatch($request);
		}
		catch (\Exception $e)
		if ($this->sessionConfigured())
		{
			$session = $this->startSession($request);
 
			$request->setSession($session);
		}
 
		$response = $this->app->handle($request, $type, $catch);
 
		// Again, if the session has been configured we will need to close out the session
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @param  int   $type
	 * @param  bool  $catch
	 * @return \Symfony\Component\HttpFoundation\Response
	 */
	public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
	{
		$response = $this->app->handle($request, $type, $catch);
 
		foreach ($this->cookies->getQueuedCookies() as $cookie)
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @param  int   $type
	 * @param  bool  $catch
	 * @return \Symfony\Component\HttpFoundation\Response
	 */
	public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
	{
		return $this->encrypt($this->app->handle($this->decrypt($request), $type, $catch));
	}
 
    {
        $this->app = $app;
        $this->middlewares = $middlewares;
    }
 
    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
    {
        return $this->app->handle($request, $type, $catch);
    }
 
	 * @param  \Symfony\Component\HttpFoundation\Request  $request
	 * @return void
	 */
	public function run(SymfonyRequest $request = null)
	{
		$request = $request ?: $this['request'];
 
		$response = with($stack = $this->getStackedClient())->handle($request);
 
		$response->send();
| Once we have the application, we can simply call the run method,
| which will execute the request and send the response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have whipped up for them.
|
*/
 
$app->run();
 
Key Value
USER findulti
HOME /home/findulti
FCGI_ROLE RESPONDER
REDIRECT_UNIQUE_ID ZgZ-Z_v5exIkeW8qN5vs7gAAAAQ
REDIRECT_HTTPS on
REDIRECT_SSL_TLS_SNI findresources.co.uk
REDIRECT_STATUS 200
UNIQUE_ID ZgZ-Z_v5exIkeW8qN5vs7gAAAAQ
HTTPS on
SSL_TLS_SNI findresources.co.uk
proxy-nokeepalive 1
HTTP_ACCEPT */*
HTTP_USER_AGENT claudebot
HTTP_HOST findresources.co.uk
PATH /usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin
SERVER_SIGNATURE
SERVER_SOFTWARE Apache
SERVER_NAME findresources.co.uk
SERVER_ADDR 172.26.1.68
SERVER_PORT 443
REMOTE_ADDR 23.22.236.90
DOCUMENT_ROOT /home/findulti/public_html
REQUEST_SCHEME https
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT /home/findulti/public_html
SERVER_ADMIN webmaster@findresources.co.uk
SCRIPT_FILENAME /home/findulti/public_html/index.php
REMOTE_PORT 55776
REDIRECT_URL /research-into-behaviour-emotion-and-movement-in-males-with-fragile-x-syndrome
REDIRECT_QUERY_STRING pdf=1
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD GET
QUERY_STRING pdf=1
REQUEST_URI /research-into-behaviour-emotion-and-movement-in-males-with-fragile-x-syndrome?pdf=1
SCRIPT_NAME /index.php
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1711701607.291
REQUEST_TIME 1711701607
argv Array ( [0] => pdf=1 )
argc 1
Key Value
pdf 1
empty
empty
empty
empty
empty
0. Whoops\Handler\PrettyPageHandler