protected function parseSymbolsAfterDigits()
	{
		if (!$this->hasSingleQuote && !$this->hasDoubleQuote && strpos($this->text, 'x') === false)
		{
			return;
		}

		$map = [
			// 80's -- use an apostrophe
			"'s" => "\xE2\x80\x99",
			// 12' or 12" -- use a prime
			"'"  => "\xE2\x80\xB2",
			"' " => "\xE2\x80\xB2",
			"'x" => "\xE2\x80\xB2",
			'"'  => "\xE2\x80\xB3",
			'" ' => "\xE2\x80\xB3",
			'"x' => "\xE2\x80\xB3"
		];

		$regexp = "/[0-9](?>'s|[\"']? ?x(?= ?[0-9])|[\"'])/S";
		preg_match_all($regexp, $this->text, $matches, PREG_OFFSET_CAPTURE);
		foreach ($matches[0] as $m)
		{
			// Test for a multiply sign at the end
			if (substr($m[0], -1) === 'x')
			{
				$this->addTag($m[1] + strlen($m[0]) - 1, 1, "\xC3\x97");
			}

			// Test for an apostrophe/prime right after the digit
			$str = substr($m[0], 1, 2);
			if (isset($map[$str]))
			{
				$this->addTag($m[1] + 1, 1, $map[$str]);
			}
		}
	}
protected function parseSymbolsAfterDigits()
	{
		if (!$this->hasSingleQuote && !$this->hasDoubleQuote && strpos($this->text, 'x') === false)
		{
			return;
		}

		$map = [
			// 80's -- use an apostrophe
			"'s" => "\xE2\x80\x99",
			// 12' or 12" -- use a prime
			"'"  => "\xE2\x80\xB2",
			"' " => "\xE2\x80\xB2",
			"'x" => "\xE2\x80\xB2",
			'"'  => "\xE2\x80\xB3",
			'" ' => "\xE2\x80\xB3",
			'"x' => "\xE2\x80\xB3"
		];

		$regexp = "/[0-9](?>'s|[\"']? ?x(?= ?[0-9])|[\"'])/S";
		preg_match_all($regexp, $this->text, $matches, PREG_OFFSET_CAPTURE);
		foreach ($matches[0] as $m)
		{
			// Test for a multiply sign at the end
			if (substr($m[0], -1) === 'x')
			{
				$this->addTag($m[1] + strlen($m[0]) - 1, 1, "\xC3\x97");
			}

			// Test for an apostrophe/prime right after the digit
			$str = substr($m[0], 1, 2);
			if (isset($map[$str]))
			{
				$this->addTag($m[1] + 1, 1, $map[$str]);
			}
		}
	}
protected function parseSymbolsAfterDigits ( ) { if ( ! $ this -> hasSingleQuote && ! $ this -> hasDoubleQuote && strpos ( $ this -> text , 'x' ) === false ) { return ; } $ map = [ // 80's -- use an apostrophe "'s" => "\xE2\x80\x99" , // 12' or 12" -- use a prime "'" => "\xE2\x80\xB2" , "' " => "\xE2\x80\xB2" , "'x" => "\xE2\x80\xB2" , '"' => "\xE2\x80\xB3" , '" ' => "\xE2\x80\xB3" , '"x' => "\xE2\x80\xB3" ] ; $ regexp = "/[0-9](?>'s|[\"']? ?x(?= ?[0-9])|[\"'])/S" ; preg_match_all ( $ regexp , $ this -> text , $ matches , PREG_OFFSET_CAPTURE ) ; foreach ( $ matches [ 0 ] as $ m ) { // Test for a multiply sign at the end if ( substr ( $ m [ 0 ] , - 1 ) === 'x' ) { $ this -> addTag ( $ m [ 1 ] + strlen ( $ m [ 0 ] ) - 1 , 1 , "\xC3\x97" ) ; } // Test for an apostrophe/prime right after the digit $ str = substr ( $ m [ 0 ] , 1 , 2 ) ; if ( isset ( $ map [ $ str ] ) ) { $ this -> addTag ( $ m [ 1 ] + 1 , 1 , $ map [ $ str ] ) ; } } }
Parse symbols found after digits

Does symbols found after a digit:
- apostrophe ’ if it's followed by an "s" as in 80's
- prime ′ and double prime ″
- multiply sign × if it's followed by an optional space and another digit

@return void
Parse symbols found after digits