HEX
Server: Apache
System: Linux v38079.2is.nl 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: democfellows (10015)
PHP: 8.1.34
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/creativefellows.nl/recht.creativefellows.nl/src/Domain/Field/TextType.php
<?php

namespace App\Domain\Field;


/**
 * Lease Term data
 */
final class TextType
{
	private $value = null;		
	function __construct(string $value =null)
	{
		$this->value = $value;
	}
			
	public function value($html_tag = null,$element_class=null)
	{	
		
		switch($html_tag)
		{
			default: 
				return $html_tag == null || !$this->value ? $this->value : "<$html_tag". $this->class($element_class) .">".  $this->value ."</$html_tag>";  
			break;
			
			case "intro":
				return $this->makeIntro($this->value,$element_class);
			break;
			
		}
		
		
	}
	
	private function class($element_class)
	{
		return $element_class != null ? ' class="'. $element_class .'"' : '';
	}
	
	public function makeIntro($text,$length=null,$addParagraphtags=false,$sign=null){
	
		$text = preg_replace('/<(h1|h2|h3|h4)[^>]*>([\s\S]*?)<\/(h1|h2|h3|h4)[^>]*>/', '', $text);
		$text = trim(strip_tags($text));
		
		$sign 			= ($sign == null) ? " &hellip;" : $sign;
		$textlen 		= strlen($text);
		if($textlen < $length && $length!=null) $return = $text;
		else
		{
			$cropAfter	= ($length != null) ? $length : 115;
			$intro		= substr(strip_tags($text), 0, $cropAfter);
			$ls 		= strrpos($intro, " ");
			$return 	= substr($intro, 0, $ls).$sign;
		
		}
		return $addParagraphtags == false ? $return : "<p>".$return."</p>";
	
	}
		
}